基于TrustZone的通用口令存储及读取方法、装置及终端设备与流程

文档序号:11677955阅读:214来源:国知局
基于TrustZone的通用口令存储及读取方法、装置及终端设备与流程

本发明涉及移动终端设备安全技术领域,具体而言,涉及一种基于trustzone的通用口令存储及读取方法、装置及终端设备。



背景技术:

随着移动终端设备(如智能手机、平板电脑等)的普及,催生了各种用于移动终端设备的应用程序。很多应用程序都要求用户使用密码保护其安全性。随着移动终端设备中应用程序数量的飞速增长,移动终端用户需要掌握的密码的数量也快速的增长。由于这些密码都是各自独立的,因此非常容易出现用户不能够安全的保护这些密码的情况。比如为了不忘记密码,在纸质材料上做笔记,或者在电子版文件中明文记录密码等。

对单个记录密码的文件进行加密也是一种方法,但是这种方法依赖于文件加密的安全性,脱离安全体系无法衡量一个单独的加密文件的安全性。目前已经出现了一些应用程序可以提供一种记录多个密码的服务。应用程序通常使用单一的口令生成密钥,对其保存的所有密码进行保护。或者,使用应用程序生成的密钥对要保护的密钥进行加密保存。这种服务基本上与对密码文件进行加密相近,一旦其口令或密钥被破解则所有密码都会泄露出去。这种应用程序的用户必须记住自己的口令。口令必须足够坚固,也就是长度、复杂度必须足够,并且密码一定要定期更换,且不能记录在任何物理介质上。这就导致了口令很容易被忘记或记错。用户忘记口令会导致所有保存的密码都不能读取,给用户带来更大的麻烦。

因此,需要一种新的应用于移动终端设备的通用口令存储及读取方法。

在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明提供一种基于trustzone的通用口令存储及写入方法、装置及终端设备,具有高度的安全性及可扩展性。

本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本发明的一方面,提供一种基于trustzone的通用口令存储方法,包括:普通执行环境中的客户应用程序获取通用口令;客户应用程序向构建于普通执行环境中的加解密存储服务发送口令存储请求,口令存储请求包括:应用场景及通用口令;加解密存储服务查找存储的应用场景对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,加解密存储服务向可信执行环境中的可信应用程序发送数据加密请求,数据加密请求包括:类密钥及待加密数据,待加密数据包括通用口令;可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;可信应用程序根据解密后的类密钥,对待加密数据进行加密;以及可信应用程序通过客户接口,将加密后的待加密数据返回至加解密存储服务中存储。

根据本发明的一实施方式,应用场景包括:终端设备启动成功后可以访问、终端设备启动成功后且合法登录后可以访问、终端设备启动成功且合法登录且用户界面解除锁定后可以访问、终端设备启动成功且合法登录且用户界面锁定时仅可以写入。

根据本发明的一实施方式,通用口令包括:关键字及密码,关键字和密码以第一键-值对形式表示,关键字为第一键-值对中的键名,密码为第一键-值对中的键值;且待加密数据为第一键-值对中的键值。

根据本发明的一实施方式,上述方法还包括:加解密存储服务将返回的加密后的待加密数据存储为第二键-值对;其中,第二键-值对中的键名为第一键-值对中的键名,第二键-值对中的键值为加密后的待加密数据。

根据本发明的一实施方式,上述方法还包括:通过客户接口,向可信应用程序发送各应用场景对应的类密钥;可信应用程序根据主密钥对各应用场景对应的类密钥进行加密;以及可信应用程序通过客户接口,将加密后的各应用场景对应的类密钥返回至普通执行环境中存储。

根据本发明的一实施方式,客户接口采用强制访问控制权限管理机制。

根据本发明的另一个方面,提供一种适用于如上述任意一项的通用口令存储方法的通用口令读取方法,包括:普通执行环境中的客户应用程序接收用户的通用口令读取指令;客户应用程序根据通用口令读取指令,向构建于普通执行环境中的加解密存储服务发送口令读取请求,口令读取请求包括:应用场景及待读取的口令;加解密存储服务查找存储的应用场景对应的类密钥;通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据解密请求,数据解密请求包括:类密钥及待解密数据,待解密数据包括待读取的口令;可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;可信应用程序根据解密后的类密钥,对待解密数据进行解密;以及可信应用程序通过客户接口,将解密后的待解密数据返回至加解密存储服务。

根据本发明的一实施方式,待读取的口令包括:以第一键-值对中的键名表示的关键字;且待解密数据为加解密存储服务在存储的第二键-值对中查找到的关键字对应的键值。

根据本发明的一实施方式,上述方法还包括:加解密存储服务向客户应用程序发送第一键-值对;其中,第一键-值对的键名为关键字,第一键-值对的键值为解密后的待解密数据。

根据本发明的再一个方面,提供一种基于trustzone的通用口令存储装置,包括:口令获取模块,用于通过普通执行环境中的客户应用程序获取通用口令;存储请求模块,用于通过客户应用程序向构建于普通执行环境中的加解密存储服务发送口令存储请求,口令存储请求包括:应用场景及通用口令;类密钥获取模块,用于通过加解密存储服务查找存储的应用场景对应的类密钥;加密请求模块,用于通过普通执行环境与可信执行环境之间的客户接口,通过加解密存储服务向可信执行环境中的可信应用程序发送数据加密请求,数据加密请求包括:类密钥及待加密数据,待加密数据包括通用口令;第一密钥解密模块,用于通过可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;数据加密模块,用于通过可信应用程序根据解密后的类密钥,对待加密数据进行加密;以及加密数据返回模块,用于通过可信应用程序通过客户接口,将加密后的待加密数据返回至加解密存储服务中存储。

根据本发明的一实施方式,应用场景包括:终端设备启动成功后可以访问、终端设备启动成功后且合法登录后可以访问、终端设备启动成功且合法登录且用户界面解除锁定后可以访问、终端设备启动成功且合法登录且用户界面锁定时仅可以写入。

根据本发明的一实施方式,通用口令包括:关键字及密码,关键字和密码以第一键-值对形式表示,关键字为第一键-值对中的键名,密码为第一键-值对中的键值;且待加密数据为第一键-值对中的键值。

根据本发明的一实施方式,上述装置还包括:数据存储模块,用于通过加解密存储服务将返回的加密后的待加密数据存储为第二键-值对;其中,第二键-值对中的键名为第一键-值对中的键名,第二键-值对中的键值为加密后的待加密数据。

根据本发明的一实施方式,上述装置还包括:类密钥发送模块,用于通过客户接口,向可信应用程序发送各应用场景对应的类密钥;类密钥加密模块,用于通过可信应用程序根据主密钥对各应用场景对应的类密钥进行加密;以及类密钥返回模块,用于通过可信应用程序通过客户接口,将加密后的各应用场景对应的类密钥返回至普通执行环境中存储。

根据本发明的一实施方式,客户接口采用强制访问控制权限管理机制。

根据本发明的再一个方面,提供一种适用于如上述任意一项的通用口令存储装置的通用口令读取装置,包括:指令接收模块,用于通过普通执行环境中的客户应用程序接收用户的通用口令读取指令;读取请求模块,用于通过客户应用程序根据通用口令读取指令,向构建于普通执行环境中的加解密存储服务发送口令读取请求,口令读取请求包括:应用场景及待读取的口令;类密钥获取模块,用于通过加解密存储服务查找存储的应用场景对应的类密钥;解密请求模块,用于通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据解密请求,数据解密请求包括:类密钥及待解密数据,待解密数据包括待读取的口令;第二密钥解密模块,用于通过可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密;数据解密模块,用于通过可信应用程序根据解密后的类密钥,对待解密数据进行解密;以及解密数据返回模块,用于通过可信应用程序通过客户接口,将解密后的待解密数据返回至加解密存储服务。

根据本发明的一实施方式,待读取的口令包括:以第一键-值对中的键名表示的关键字;且待解密数据为加解密存储服务在存储的第二键-值对中查找到的关键字对应的键值。

根据本发明的一实施方式,上述装置还包括:解密数据发送模块,用于通过加解密存储服务向客户应用程序发送第一键-值对;其中,第一键-值对的键名为关键字,第一键-值对的键值为解密后的待解密数据。

根据本发明的再一个方面,提供一种终端设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中处理器配置为经由执行可执行指令来执行如上述任意一项的方法。

根据本发明的再一个方面,提供一种终端设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中处理器配置为经由执行可执行指令来执行如上述任意一项的方法。

根据本发明实施方式的基于trustzone的通用口令存储方法,通过一客户应用程序将移动终端设备中其他应用程序的通用口令在可信执行环境中加密,并将加密后的通用口令存储在统一的加解密存储服务中,提升了通用口令的存储安全性,并降低了开发成本;此外,在普通执行环境中存储使用主密钥加密后的类密钥,保证了类密钥的安全,从而进一步提升了数据加密的安全性。进一步地,该方法还提供了不同的密钥使用策略,及简单易用的数据检索的接口。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。

图1是根据一示例示出的终端设备中普通执行环境与可信执行的架构示意图。

图2是根据一示例性实施方式示出的一种基于trustzone的通用口令存储方法的流程图。

图3是根据一示例性实施方式示出的一种基于trustzone的通用口令读取方法的流程图。

图4是根据一示例性实施方式示出的一种基于trustzone的通用口令存储装置的框图。

图5是根据一示例性实施方式示出的一种基于trustzone的通用口令读取装置的框图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。

trustzone技术是arm平台上的一种可信执行环境(trustedexecutionenvironment,tee)标准,其通过硬件的访问隔离和安全内核软件的配合,提供了在可信执行环境中安全的执行部分代码的能力。基于trustzone硬件隔离技术所构建的可信执行环境将涉及敏感数据的应用程序分成客户应用程序(clientapp)和可信应用程序(trustedapp,ta),客户应用程序在普通执行环境(richexecutionenvironment,ree)中被执行以用于处理大部分非敏感业务,普通执行环境即移动终端设备的普通操作系统(richoperationsystem,richos),而可信应用程序在可信执行环境中被执行以处理敏感业务。普通执行环境与可信执行环境相互隔离,运行在普通执行环境中的客户应用程序通过客户接口(trustzoneclientapi)接入(access)运行在可信执行环境中的可信应用程序,或通过该客户接口与可信应用程序交换数据。

图1是根据一示例示出的终端设备中普通执行环境与可信执行的架构示意图。图2是根据一示例性实施方式示出的一种基于trustzone的通用口令存储方法的流程图。结合图1及图2,图2所示的方法10包括:

在步骤s102中,普通执行环境中的客户应用程序获取通用口令。

参考图1,该位于普通执行环境中的客户应用程序例如为一用于为用户保存其所有其他应用程序的通用口令的保险箱应用程序。

该保险箱应用程序接收用户通过用户界面输入的通用口令,或者通过与其他待保存口令的应用程序之间接口(api)调用获取该应用程序的通用口令。

在步骤s104中,客户应用程序向构建于普通执行环境中的加解密存储服务发送口令存储请求。

加解密存储服务可实现为由至少一个函数构成的代码集合,各函数包括:函数名称,函数调用信息和函数实现中的部分或全部。当有多个函数时,一个函数实现还可以包括调用所定义的其他函数等。

在初始化过程中,加解密存储服务可以为该客户应用程序初始化数据存储容器,以用于存储该客户应用程序的加密后的通用口令。

该口令存储请求例如为通过进程间通信(inter-processcommunication,ipc)发送的口令存储调用,如dbus、biner进程间通信机制等。加解密存储服务在接收到该口令存储请求后,首先通过发送口令存储请求的进程的uid,查找到该进程所对应的数据存储容器。

该口令存储请求中包括例如以参数形式携带的应用场景及通用口令。该应用场景与待保存通用口令的应用程序相关,其可以通过用户的输入获得,也可以通过与与待保存通用口令的应用程序之间的接口调用获得。

应用场景例如包括:

1)终端设备启动成功后可以访问:该场景通常用于常驻系统服务对加密的需求;

2)终端设备启动成功后且合法登录后可以访问:该场景通常用于系统服务和系统应用的加密需求;

3)终端设备启动成功且合法登录且用户界面解除锁定后可以访问:该场景通常用于普通客户应用程序的加密需求;或者,

4)终端设备启动成功且合法登录且用户界面锁定时仅可以写入:该场景通常用于常驻应用程序的加密需求,如短信、邮件、即时通信(im)等,需要在用户界面被锁定的情况下向系统安全的写入数据。

由于应用程序在不同应用场景下的安全策略是不同的,应用场景每次择一的选择上述的一种应用场景以确定相应的类密钥,差异化的应用场景可以提高应用数据的安全性。举例来说,如果一个加密项的策略被设置为终端设备启动成功且合法登录且用户界面解除锁定后可以访问,则其他时刻的访问请求会被拒绝,并且对应的类密钥也会被从内存中清除出去,从而进一步提升了加密的安全性。

在一些实施例中,保险箱应用程序也可以在一条口令存储请求中携带多个应用程序的通用口令,每个应用程序的通用口令对应其各自的应用场景。也即在口令存储请求中包括多条通用口令及其分别对应的应用场景。

在一些实施例中,口令存储请求中的通用口令以第一键-值对(key-value)形式发送,包括键名及对应的键值。其中键名为指定的关键字,如用户名等;键值数据为用户为应用程序设置的密码。

在步骤s106中,加解密存储服务查找存储的该应用场景对应的类密钥。

在加解密存储服务中,存储有各应用场景所对应的类密钥,其中各类密钥为在可信执行环境中使用主密钥加密后的密文。

密钥是黑盒加密算法的主要攻击点,因此需要保证密钥在存储及使用时的安全性。存储的安全性主要是指攻击者不能够对其进行读写访问,使用的安全性主要是指密钥在内存中遭受动态攻击的可能。在本方法中,为了增强密钥的安全性,将存储于普通执行环境中的类密钥以密文形式存储。

在一些实施例中,加解密存储服务在初始化过程中,还需要通过客户接口,向可信应用程序确认该主密钥是否可用。

在一些实施例中,在步骤s106之前该方法10还可以进一步包括如下步骤:

在步骤1中,加解密存储服务通过客户接口,向可信应用程序发送各应用场景对应的类密钥。

在步骤2中,可信应用程序根据trustzone上下文中的主密钥对各应用场景的类密钥进行加密。

在步骤3中,可信应用程序通过客户接口,将加密后的各应用场景对应的类密钥返回至普通执行环境中的加解密存储服务中存储。

在步骤s108中,加解密存储服务通过客户接口,向可信应用程序发送数据加密请求。

该加密请求包括查找到的类密钥以及待加密数据,该待加密数据包括上述的通用口令。在一些实施例中,待加密数据为第一键-值对中的键值。

如图1中所示,在具体实施时,加解密存储服务可以通过trustzone客户接口,并利用内核空间中普通执行环境与可信执行环境中的通信机制,实现加密存储服务与专属服务于加解密的可信应用程序之间的调用,即加密存储服务与专属服务于加解密的可信应用程序之间的通信服务。需要说明的是内核空间中普通执行环境与可信执行环境中的通信机制为本领域技术人员所知悉,在此不再赘述。

在一些实施例中,客户接口采用强制访问控制(mac)权限管理机制,如采用selinux访问控制机制。

selinux是一套基于标签(label)的安全系统。在selinux策略中,通过标签的设定来实现主体对客体的控制。其中主体可以为终端设备中运行的每个进程,客体则为系统中的所有资源,包括:文件系统、目录、文件、文件启动指示符、端口、消息接口和网络接口等。每个进程都拥有自己的标签,而每个客体对象也都拥有自己的标签。通过编写的selinux策略,来控制进程标签可以对客体对象标签进行访问,如文件访问、读写及socket操作等。例如,通过策略配置,允许标签为a的进程对标签为b的客户接口的调用,从而保证加密存储服务的接口不被任意滥用。

在步骤s110中,可信应用程序根据预先存储于所述可信执行环境中的主密钥,对类密钥进行解密。

主密钥为每个终端设备所独立拥有的,在可执行环境初始化过程中,该主密钥被加载到trustzone的映像文件中,即加载到trustzone的可信执行环境的上下文中。由于该主密钥被预埋到可信执行环境中,不会在普通执行环境中出现,因此在普通执行环境中由于无法获取该主密钥而无法解密类密钥,从而增强了通过类密钥加密的应用数据的安全性。

在步骤s112中,可信应用程序根据解密后的类密钥,对待加密数据进行加密。

可信应用程序例如可以采用aes(advancedencryptionstandard,高级加密标准)或des(dataencryptionstandard,数据加密标准)等对称加密算法,根据解密后的类密钥对待加密数据进行加密,本发明不以此为限。可用的加密模式包括:cbc(cipherblockchaining,块状密码链),ofb(outputfeedback,输出反馈),cfb(cipherfeedback,加密反馈)。

如图1所示,可信应用程序可以通过调用可信执行环境中通用的硬件加密引擎,实施上述数据加密操作。

在步骤s114中,可信应用程序通过客户接口,将加密后的待加密数据返回至加解密存储服务中存储。

可信应用程序完成加密后,通过客户接口,向普通执行环境中返回加密后的数据。即加密后的数据在普通执行环境中存储。

在一些实施例中,图2所示的方法10还包括:

在步骤s116中,加解密存储服务将返回的加密后的待加密数据存储为第二键-值对。

加解密存储服务将加密后的待加密数据存储在该进程对应的数据存储容器中,并存储为第二键-值对。

其中,第二键-值对中的键名为第一键-值对中的键名,第二键-值对中的键值为加密后的待加密数据。即加解密存储服务同样采用键-值对的形式存储加密后的数据,以提供简单易用的数据检索接口,方便用户读写自己的通用口令。服务保存的数据加密后还需要进行增删读写的操作,检索接口可以有效的减少应用编程的复杂性,提高开发效率,减少漏洞风险。

根据本发明实施方式的基于trustzone的通用口令存储方法,通过一客户应用程序将移动终端设备中其他应用程序的通用口令在可信执行环境中加密,并将加密后的通用口令存储在统一的加解密存储服务中,提升了通用口令的存储安全性,并降低了开发成本;此外,在普通执行环境中存储使用主密钥加密后的类密钥,保证了类密钥的安全,从而进一步提升了数据加密的安全性。进一步地,该方法还提供了不同的密钥使用策略,及简单易用的数据检索的接口。

应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。

图3是根据一示例性实施方式示出的一种基于trustzone的通用口令读取方法的流程图。该解密方法可适用于上述的通用口令存储方法10。结合图1和图3,该方法20包括:

在步骤s202中,普通执行环境中的客户应用程序接收用户的通用口令读取指令。

如前述的保险箱应用程序,接收到用户通用用户界面输入的通用口令读取指令。

在步骤s204中,客户应用程序根据该通用口令读取指令,向构建于普通执行环境中的加解密存储服务发送口令读取请求。

该口令读取请求包括:应用场景及待读取的口令。

同样地,该口令读取请求也可以为进程间通信发送的口令读取调用。加解密存储服务在接收到该口令读取请求后,通过发送口令读取请求的进程的uid,查找到该进程所对应的数据存储容器。

应用场景如上所述,在此不再赘述。

在一些实施例中,在口令读取请求中,客户应用程序仅需向加解密存储服务发送关键字,加解密存储服务即可以通过该关键字查找到其存储的对应该关键字的加密后的键值数据,即待读取的口令。

在一些实施例中,该口令读取请求中也可以包括多个关键字及相对应的多个应用场景,从而同时请求读取多个应用程序的通用口令。

在步骤s206中,加解密存储服务查找存储的应用场景对应的类密钥。

在加解密存储服务中,存储有各应用场景所对应的类密钥,其中各类密钥为在可信执行环境中使用主密钥加密后的密文。

在步骤s208中,加解密存储服务通过客户接口,向可信应用程序发送数据解密请求。

其中,所述数据解密请求中的类密钥为查找到的该应用场景对应的类密钥,数据解密请求中的待解密数据包括待读取的口令。

在一些实施例中,待解密数据为加解密存储服务在存储的第二键-值对中查找到的关键字对应的键值,即关键字对应的通用口令的密文。

在步骤s210中,可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密。

主密钥为每个终端设备所独立拥有的,在可执行环境初始化过程中,该主密钥被加载到trustzone的映像文件中,即加载到trustzone的可信执行环境的上下文中。由于该主密钥被预埋到可信执行环境中,不会在普通执行环境中出现,因此在普通执行环境中由于无法获取该主密钥而无法解密类密钥,从而增强了通过类密钥加密的应用数据的安全性。

在步骤s212中,可信应用程序根据解密后的类密钥,对待解密数据进行解密。

对应上述加密过程中所使用的加密算法,对待解密数据进行解密操作。

在步骤s214中,可信应用程序通过客户接口,将解密后的数据返回至加解密存储服务中。

此外,在一些实施例中,该方法20还可以包括:

在步骤s216中,加解密存储服务向客户应用程序发送第一键-值对。

其中,第一键-值对的键名为该客户应用程序在口令读取请求中携带的关键字,第一键-值对的键值为该关键字对应的解密后的密码。

本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图4是根据一示例性实施方式示出的一种基于trustzone的通用口令存储装置的框图。如图4所示,该装置30包括:口令获取模块302、存储请求模块304、类密钥获取模块306、加密请求模块308、第一密钥解密模块310、数据加密模块312、加密数据返回模块314。

结合图1所示,口令获取模块302用于通过普通执行环境中的客户应用程序获取通用口令。

存储请求模块304用于通过客户应用程序向构建于普通执行环境中的加解密存储服务发送口令存储请求,口令存储请求包括:应用场景及通用口令。

类密钥获取模块306用于通过加解密存储服务查找存储的应用场景对应的类密钥。

在一些实施例中,应用场景包括:终端设备启动成功后可以访问、终端设备启动成功后且合法登录后可以访问、终端设备启动成功且合法登录且用户界面解除锁定后可以访问、终端设备启动成功且合法登录且用户界面锁定时仅可以写入。

加密请求模块308用于通过普通执行环境与可信执行环境之间的客户接口,通过加解密存储服务向可信执行环境中的可信应用程序发送数据加密请求,数据加密请求包括:类密钥及待加密数据,待加密数据包括通用口令。

在一些实施例中,通用口令包括:关键字及密码,关键字和密码以第一键-值对形式表示,关键字为第一键-值对中的键名,密码为第一键-值对中的键值;且待加密数据为第一键-值对中的键值。

第一密钥解密模块310用于通过可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密。

数据加密模块312用于通过可信应用程序根据解密后的类密钥,对待加密数据进行加密。

加密数据返回模块314用于通过可信应用程序通过客户接口,将加密后的待加密数据返回至加解密存储服务中存储。

在一些实施例中,该装置30还包括:数据存储模块316,用于通过加解密存储服务将返回的加密后的待加密数据存储为第二键-值对;其中,第二键-值对中的键名为第一键-值对中的键名,第二键-值对中的键值为加密后的待加密数据。

在一些实施例中,该装置30还包括:类密钥发送模块318、类密钥加密模块320及类密钥返回模块322。其中,类密钥发送模块318用于通过客户接口,向可信应用程序发送各应用场景对应的类密钥。类密钥加密模块320用于通过可信应用程序根据主密钥对各应用场景对应的类密钥进行加密。类密钥返回模块322用于通过可信应用程序通过客户接口,将加密后的各应用场景对应的类密钥返回至普通执行环境中存储。

在一些实施例中,客户接口采用强制访问控制权限管理机制。

根据本发明实施方式的基于trustzone的通用口令存储装置,通过一客户应用程序将移动终端设备中其他应用程序的通用口令在可信执行环境中加密,并将加密后的通用口令存储在统一的加解密存储服务中,提升了通用口令的存储安全性,并降低了开发成本;此外,在普通执行环境中存储使用主密钥加密后的类密钥,保证了类密钥的安全,从而进一步提升了数据加密的安全性。进一步地,该方法还提供了不同的密钥使用策略,及简单易用的数据检索的接口。

图5是根据一示例性实施方式示出的一种基于trustzone的通用口令读取装置的框图。该通用口令读取装置适用于上述通用口令存储装置30。如图5所示,解密装置40包括:指令接收模块402、读取请求模块404、类密钥获取模块406、解密请求模块408、第二密钥解密模块410、数据解密模块412及解密数据返回模块414。

结合图1所示,指令接收模块402用于通过普通执行环境中的客户应用程序接收用户的通用口令读取指令。

读取请求模块404用于通过客户应用程序根据通用口令读取指令,向构建于普通执行环境中的加解密存储服务发送口令读取请求,口令读取请求包括:应用场景及待读取的口令。

类密钥获取模块406用于通过加解密存储服务查找存储的应用场景对应的类密钥。

解密请求模块408用于通过普通执行环境与可信执行环境之间的客户接口,向可信执行环境中的可信应用程序发送数据解密请求,数据解密请求包括:类密钥及待解密数据,待解密数据包括待读取的口令。

在一些实施例中,待读取的口令包括:以第一键-值对中的键名表示的关键字;且待解密数据为加解密存储服务在存储的第二键-值对中查找到的关键字对应的键值。

第二密钥解密模块410用于通过可信应用程序根据预先存储于可信执行环境中的主密钥,对类密钥进行解密。

数据解密模块412用于通过可信应用程序根据解密后的类密钥,对待解密数据进行解密。

解密数据返回模块414用于通过可信应用程序通过客户接口,将解密后的待解密数据返回至加解密存储服务。

在一些实施例中,该装置40还包括:解密数据发送模块416用于通过加解密存储服务向客户应用程序发送第一键-值对。其中,第一键-值对的键名为关键字,第一键-值对的键值为解密后的待解密数据。

需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。

以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

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