一种基于TrustZone技术的安全存储服务系统及方法

文档序号:9506470阅读:633来源:国知局
一种基于TrustZone技术的安全存储服务系统及方法
【技术领域】
[0001]本发明涉及一种基于TrustZone技术的安全存储服务系统及方法,属于移动终端设备的数据安全存储领域。
【背景技术】
[0002]随着移动互联网技术和移动智能终端的快速发展,移动终端处理的业务从传统的通信、娱乐领域延伸到移动办公、移动支付等高安全、高敏感业务领域。移动终端需要处理越来越多的敏感数据,包括用户账户信息、个人隐私信息、支付订单信息、企业私密文件等。如何有效得保障移动终端上敏感数据的安全性成为了移动终端设备开展高安全、高敏感业务面临的一大难题。
[0003]通常的解决方案是通过高强度密码算法对敏感数据加密,将加密数据存储在移动操作系统的文件系统上,并利用操作系统的权限控制机制来限制加密数据文件的访问,从而实现敏感数据的安全存储。但是由于传统移动终端操作系统的复杂性和开放性使其无法创造安全的运行环境,操作系统自身以及应用程序很容易遭受恶意攻击。当恶意应用攻击合法应用后,以合法应用的身份访问存储在文件系统上的加密数据,并通过相应解密逻辑获取敏感数据,导致敏感数据遭受窃取。同时部分移动终端设备用户为了获得更好的体验对设备进行刷机,当恶意应用获取移动操作系统的最高权限后,系统中所有对敏感数据的保护将无安全性可言。此外,将敏感数据加密存储在普通文件系统中也存在遭受非法破坏导致拒绝服务攻击的风险。因此传统的解决方案安全性不够高,难以真正有效地解决应用程序敏感数据的安全存储问题。
[0004]为了从根本上解决移动终端应用程序敏感数据的安全存储问题,必须从底层硬件架构、操作系统等多个环节设计软硬件结合的整体解决方案。ARM TrustZone硬件隔离技术和可信执行环境(TEE)概念的提出为解决这个问题带来新的思路。基于ARM TrustZone技术构建的可信执行环境可以将涉及敏感数据的应用程序分成普通应用程序和可信应用程序,普通应用程序运行在普通执行环境中(如传统linux系统、安卓操作系统等)处理大部分非敏感业务。可信应用程序运行在可信执行环境中处理敏感业务。普通执行环境与可信执行环境相互隔离,保证了可信应用程序处理敏感数据的安全性。
[0005]虽然TrustZone技术为应用程序处理敏感数据提供了安全隔离的运行时环境和物理环境,但是TrustZone技术并没有定义关于数据安全存储的技术标准,基于TrustZone技术实现数据安全存储仍面临以下几个问题:如何为可信应用程序开发和普通应用程序开发提供统一的安全存储接口;如何对发送数据安全存储请求的普通应用程序做合法性检测。

【发明内容】

[0006]本发明的技术解决问题:克服现有技术的不足,提供一种基于TrustZone技术的安全存储服务系统及方法,防止敏感数据泄露,从而有效地保证数据安全性,具有数据存储高安全性、程序开发接口统一等优势。
[0007]本发明技术解决方案为:一种基于TrustZone技术的安全存储服务系统及方法,下面简要介绍下本方案的基本思想,本发明在吸取已有解决方案优点的基础之上,提出了自己的设计思想,具体来说,本发明的系统包括下列几个方面:
[0008]方面一,将安全存储服务以后台服务的形式运行于可信执行环境的安全操作系统中。所述安全存储服务是指在可信执行环境初始化完成后,由安全操作系统负责静态加载并在后台运行的可信应用程序。按照功能分类将安全存储服务分为数据存储、数据加载和数据销毁三类功能。数据存储功能实现对敏感数据的加密和签名,并将加密数据和签名数据存储在可信执行环境的非易失存储器中;数据加载功能实现从可信执行环境的非易失存储器中加载加密数据并解密出敏感数据;数据销毁功能实现从可信执行环境的非易失存储器中移除加密数据和签名数据。
[0009]安全存储服务的数据处理模块为可信应用程序提供统一的数据安全存储远程调用接口,包括数据存储调用接口、数据加载调用接口和数据销毁调用接口。所述远程调用是指可信执行环境中可信应用程序之间的远程通信方式,可信应用程序向数据处理模块发送远程调用,安全操作系统将远程调用路由到对应的数据安全存储远程调用接口,执行相应的数据安全存储操作,并将操作结果返回至可信应用程序。
[0010]方面二,为普通应用程序提供数据请求模块。所述数据请求模块是由一系列数据安全存储服务请求接口构成的共享库,包括数据存储请求接口、数据加载请求接口和数据销毁请求接口。每个调用请求接口定义相应的调用请求号。普通应用程序调用数据请求模块接口后,最终通过TrustZone可信执行环境通信代理向可信应用程序发送数据安全存储服务请求。可信应用程序接收到服务请求后,根据调用请求号向安全存储服务发起远程调用,执行相应的数据安全存储操作。
[0011]方面三,基于TrustZone技术的可信执行环境并未对普通执行环境发起的调用请求定义相关的验证标准,普通执行环境的恶意程序可能通过攻击合法普通应用程序伪造调用请求或者直接伪装成合法的普通应用程序向可信应用程序发起调用请求,从而存在敏感数据泄露的风险。基于此问题,本发明一个重要方面在于保证对操作系统最小修改的前提下,实现在可信执行环境中对发送数据安全存储服务请求的普通应用程序做运行时的合法性检测。其具体实现依赖于安全存储服务的合法性检测模块、数据请求模块在代码实现上的特殊处理及普通应用程序的特征信息提取与存储。
[0012]—种基于TrustZone技术的安全存储服务实现方法,实现步骤如下:
[0013](1)为普通应用程序实现数据请求模块,同时为普通应用程序提取特征信息,使用第三方CA证书对特征信息签名,并将特征信息签名值存储到对应的可信应用程序中。普通应用程序通过调用数据请求模块的数据安全存储服务请求接口向可信应用程序发送服务请求;
[0014](2)普通应用程序调用数据请求模块接口时,普通操作系统利用软件中断异常机制捕获其进程信息及请求的可信应用程序标示符,并将进程异常信息和可信应用程序标示符发送给可信执行环境的TrustZone监视器,由TrustZone监视器调用安全存储服务的合法性检测模块完成对普通应用程序进程的合法性检测。
[0015](3)合法性检测模块获取普通应用程序的进程异常信息和可信应用程序标示符后,从可信应用程序中加载普通应用程序的特征信息签名,并根据捕获的普通应用程序进程信息和特征信息签名对普通应用程序进行合法性检测,最后依据检测结果为当前普通应用程序进程设置检测状态标志位。
[0016](4)可信应用程序接收普通应用程序的数据安全存储服务请求后,对普通应用程序请求的原始数据完成数据预处理操作,并通过远程调用方式请求数据处理模块执行相应的数据安全存储操作。
[0017](5)安全操作系统负责处理可信应用程序向数据处理模块发起的远程调用,安全操作系统将远程调用路由到数据处理模块并执行相应的数据安全存储远程调用接口。数据安全存储远程调用接口在执行前需要检测普通应用程序进程的检测状态标志位。若检测失败,则拒绝可信应用程序发起的远程调用;若检测通过,则数据安全存储远程调用接口将协同秘钥管理模块为可信应用程序执行相应的数据安全存储操作。
[0018]所述步骤(1)中,数据安全存储服务请求接口包括:数据存储请求接口、数据加载请求接口和数据销毁请求接口。数据请求模块为每个模块接口定义了唯一的调用请求号。
[0019]所述步骤(1)中,普通应用程序的特征信息是一段可以唯一标记普通应用程序的信息;特征信息被第三方CA证书签名并存储在可信应用程序中用于普通应用程序的合法性检测。
[0020]所述步骤(2)中,普通应用程序调用数据请求模块接口时,为了使普通操作系统捕获其进程的软件中断异常,需要在代码层面上对数据请求模块接口进行特殊处理:在每个请求接口的第一条代码指令前插入软件中断指令SWI,并定义新软件中断号;同时在保证对操作系统最小修改的前提下,为普通操作系统添加新软件中断号的中断处理逻辑,用于捕获普通应用程序的进程异常信息并向可信执行环境发送进程异常信息。
[0021]所述步骤(3)中,合法性检测通过普通应用程序的进程异常信息计算运行时的特征值并与存储在可信应用程序中的特征值进行比较,再根据比较结果判定普通应用程序进程的合法性。
[0022]所述步骤(4)中,数据预处理操作是指可信应用程序向安全存储服务发起远程调
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1