基于TrustZone的数据库文件口令加解密方法、装置及终端设备制造方法及图纸

技术编号:15898744 阅读:83 留言:0更新日期:2017-07-28 21:32
本申请公开一种基于TrustZone的数据库文件口令加解密方法、装置及终端设备。该方法包括:接收口令创建请求,口令创建请求中包括:数据库文件的第一元数据及类密钥标识;为数据库文件创建用于加密数据库文件的口令,并将第一元数据与口令合并为第二元数据;查找存储的类密钥标识对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据加密请求,数据加密请求包括:类密钥及第二元数据;可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;可信应用程序根据解密后的类密钥,对第二元数据进行加密;以及可信应用程序通过客户接口,将加密后的第二元数据返回至普通执行环境中存储。

【技术实现步骤摘要】
基于TrustZone的数据库文件口令加解密方法、装置及终端设备
本专利技术涉及移动终端设备安全
,具体而言,涉及一种基于TrustZone的数据库文件口令加解密方法、装置及终端设备。
技术介绍
数据库文件是一种很常见的文件类型,很多应用程序或系统应用依赖于数据库文件的使用。尤其是关系数据库在很多应用程序中,用于保存大量的需要检索的数据,例如用户账号、联系人信息、邮件地址等。目前适用于移动终端设备使用的常见数据库技术有SQLite、mSQL、eXtremeDB等。应用最为广泛的是SQLite,尤其在安卓与iOS操作系统中。SQLite原生支持加密接口,但是需要扩充其加密接口的实现,才能真正的支持加密操作。开源项目SQLCipher是一个典型的基于SQLite实现的加密数据项目。该项目实现了SQLite的加密接口,从而支持了加密数据库操作。但目前该项目仅支持用户按照文件口令加密的方式进行数据库文件的加密。这就要求用户必须要“记住”这个口令,由于该口令是每数据库文件独立的,为了“记住”各数据库文件的口令,用户可能需要将其保存在一个介质中,如电子文档中,但是对于黑盒加密机制而言,安全的保存一个口令本身是很困难的。而如果对所有数据库文件使用同样的口令,则会降低应用程序的安全性。因此,需要一种新的数据库文件加密方法,使得数据库文件的口令对用户是透明的,也即无需用户来“记住”该口令。在所述
技术介绍
部分公开的上述信息仅用于加强对本专利技术的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本专利技术提供一种基于TrustZone的数据库文件口令加解密方法、装置及终端设备,能够提供一种数据库文件口令安全地创建及使用的方法,使口令对用户透明,保证口令的安全性。本专利技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本专利技术的实践而习得。根据本专利技术的一方面,提供一种基于TrustZone的数据库文件口令加密方法,包括:接收口令创建请求,口令创建请求中包括:数据库文件的第一元数据及类密钥标识;为数据库文件创建用于加密数据库文件的口令,并将第一元数据与口令合并为第二元数据;查找存储的类密钥标识对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据加密请求,数据加密请求包括:类密钥及第二元数据;可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;可信应用程序根据解密后的类密钥,对第二元数据进行加密;以及可信应用程序通过客户接口,将加密后的第二元数据返回至普通执行环境中存储。根据本专利技术的一实施方式,类密钥标识与应用场景相对应;应用场景包括:终端设备启动成功后可以访问、终端设备启动成功后且合法登录后可以访问、终端设备启动成功且合法登录且用户界面解除锁定后可以访问、终端设备启动成功且合法登录且用户界面锁定时仅可以写入。根据本专利技术的一实施方式,上述方法还包括:接收加密后的第二元数据;以及将加密后的第二元数据与加密后的数据库文件合并为一个文件进行存储;其中,数据库文件根据口令在可信执行环境中被加密。根据本专利技术的一实施方式,上述方法还包括:通过客户接口,向可信应用程序发送各应用场景对应的类密钥;可信应用程序根据主密钥对各应用场景对应的类密钥进行加密;以及可信应用程序通过客户接口,将加密后的各应用场景对应的类密钥返回至普通执行环境中存储。根据本专利技术的一实施方式,客户接口采用强制访问控制权限管理机制。根据本专利技术的另一个方面,提供一种适用于如上述任意一项的加密方法的数据库文件口令解密方法,包括:接收数据库文件的元数据解密请求,元数据解密请求包括:数据库文件的待解密的元数据及类密钥标识,元数据包括:用于加密数据库文件的口令;查找存储的类密钥标识对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据解密请求,数据解密请求包括:类密钥及待解密的元数据;可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;可信应用程序根据解密后的类密钥,对元数据进行解密;以及可信应用程序通过客户接口,将解密后的元数据返回至普通执行环境中。根据本专利技术的一实施方式,上述方法还包括:接收普通执行环境中的客户应用程序发送的对数据库文件的操作请求;以及根据操作请求,发送数据库文件的元数据解密请求。根据本专利技术的一实施方式,上述方法还包括:将解密后的数据库文件发送给客户应用程序;其中,数据库文件根据解密后的元数据中的口令在可信执行环境中被解密。根据本专利技术的再一个方面,提供一种基于TrustZone的数据库文件口令加密装置,包括:请求接收模块,用于接收口令创建请求,口令创建请求中包括:数据库文件的第一元数据及类密钥标识;口令创建模块,用于为数据库文件创建用于加密数据库文件的口令,并将第一元数据与口令合并为第二元数据;类密钥获取模块,用于查找存储的类密钥标识对应的类密钥;加密请求模块,用于通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据加密请求,数据加密请求包括:类密钥及第二元数据;类密钥解密模块,用于通过可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;加密执行模块,用于通过可信应用程序根据解密后的类密钥,对第二元数据进行加密;以及数据返回模块,用于通过可信应用程序通过客户接口,将加密后的第二元数据返回至普通执行环境中存储。根据本专利技术的一实施方式,类密钥标识与应用场景相对应;应用场景包括:终端设备启动成功后可以访问、终端设备启动成功后且合法登录后可以访问、终端设备启动成功且合法登录且用户界面解除锁定后可以访问、终端设备启动成功且合法登录且用户界面锁定时仅可以写入。根据本专利技术的一实施方式,上述装置还包括:元数据接收模块,用于接收加密后的第二元数据;以及合并存储模块,用于将加密后的第二元数据与加密后的数据库文件合并为一个文件进行存储;其中,数据库文件根据口令在可信执行环境中被加密。根据本专利技术的一实施方式,上述装置还包括:类密钥发送模块,通过客户接口,向可信应用程序发送各应用场景对应的类密钥;类密钥加密模块,用于通过可信应用程序根据主密钥对各应用场景对应的类密钥进行加密;以及类密钥返回模块,用于通过可信应用程序通过客户接口,将加密后的各应用场景对应的类密钥返回至普通执行环境中存储。根据本专利技术的一实施方式,客户接口采用强制访问控制权限管理机制。根据本专利技术的再一个方面,提供一种适用于如上述任意一项的加密装置的数据库文件口令解密装置,包括:口令请求接收模块,用于接收数据库文件的元数据解密请求,元数据解密请求包括:数据库文件的待解密的元数据及类密钥标识,元数据包括:用于加密数据库文件的口令;类密钥获取模块,用于查找存储的类密钥标识对应的类密钥;解密请求模块,用于通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据解密请求,数据解密请求包括:类密钥及待解密的元数据;类密钥解密模块,用于通过可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;解密执行模块,用于通过可信应用程序根据解密后的类密钥,对元数据进行解密;以及数据返回模块,用于通本文档来自技高网...
基于TrustZone的数据库文件口令加解密方法、装置及终端设备

【技术保护点】
一种基于TrustZone的数据库文件口令加密方法,其特征在于,包括:接收口令创建请求,所述口令创建请求中包括:数据库文件的第一元数据及类密钥标识;为所述数据库文件创建用于加密所述数据库文件的口令,并将所述第一元数据与所述口令合并为第二元数据;查找存储的所述类密钥标识对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向所述可信执行环境中的可信应用程序发送数据加密请求,所述数据加密请求包括:所述类密钥及所述第二元数据;所述可信应用程序根据预先存储于所述可信执行环境中的主密钥,对所述类密钥进行解密;所述可信应用程序根据解密后的所述类密钥,对所述第二元数据进行加密;以及所述可信应用程序通过所述客户接口,将加密后的所述第二元数据返回至所述普通执行环境中存储。

【技术特征摘要】
1.一种基于TrustZone的数据库文件口令加密方法,其特征在于,包括:接收口令创建请求,所述口令创建请求中包括:数据库文件的第一元数据及类密钥标识;为所述数据库文件创建用于加密所述数据库文件的口令,并将所述第一元数据与所述口令合并为第二元数据;查找存储的所述类密钥标识对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向所述可信执行环境中的可信应用程序发送数据加密请求,所述数据加密请求包括:所述类密钥及所述第二元数据;所述可信应用程序根据预先存储于所述可信执行环境中的主密钥,对所述类密钥进行解密;所述可信应用程序根据解密后的所述类密钥,对所述第二元数据进行加密;以及所述可信应用程序通过所述客户接口,将加密后的所述第二元数据返回至所述普通执行环境中存储。2.根据权利要求1所述的方法,其特征在于,所述类密钥标识与应用场景相对应;所述应用场景包括:终端设备启动成功后可以访问、终端设备启动成功后且合法登录后可以访问、终端设备启动成功且合法登录且用户界面解除锁定后可以访问、终端设备启动成功且合法登录且用户界面锁定时仅可以写入。3.根据权利要求2所述的方法,其特征在于,还包括:接收加密后的所述第二元数据;以及将加密后的所述第二元数据与加密后的所述数据库文件合并为一个文件进行存储;其中,所述数据库文件根据所述口令在所述可信执行环境中被加密。4.根据权利要求2所述的方法,其特征在于,还包括:通过所述客户接口,向所述可信应用程序发送各所述应用场景对应的类密钥;所述可信应用程序根据所述主密钥对各所述应用场景对应的类密钥进行加密;以及所述可信应用程序通过所述客户接口,将加密后的各所述应用场景对应的类密钥返回至所述普通执行环境中存储。5.根据权利要求1-4任一项所述的方法,其特征在于,所述客户接口采用强制访问控制权限管理机制。6.一种适用于如权利要求1-5任一项所述的加密方法的数据库文件口令解密方法,其特征在于,包括:接收数据库文件的元数据解密请求,所述元数据解密请求包括:所述数据库文件的待解密的元数据及类密钥标识,所述元数据包括:用于加密所述数据库文件的口令;查找存储的所述类密钥标识对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向所述可信执行环境中的可信应用程序发送数据解密请求,所述数据解密请求包括:所述类密钥及所述待解密的元数据;所述可信应用程序根据预先存储于所述可信执行环境中的主密钥,对所述类密钥进行解密;所述可信应用程序根据解密后的所述类密钥,对所述元数据进行解密;以及所述可信应用程序通过所述客户接口,将解密后的所述元数据返回至所述普通执行环境中。7.根据权利要求6所述的方法,其特征在于,还包括:...

【专利技术属性】
技术研发人员:孙国峰
申请(专利权)人:北京元心科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1