论文部分内容阅读
Android操作系统以其基于Linux内核、开放源代码的特征得到广大设备厂商和开发者的大力支持,基于Android平台的应用程序呈指数增长,其中社交软件深受广大用户的青睐,成为智能终端用户生活中必不可少的需求品。用户在乐此不疲地享受着这些软件带来的优越性的同时,也面临着通信数据泄露的安全威胁。针对这些安全威胁,在软件的设计方案中常常采用密码技术,以加密的方式来实现社交软件端到端的通信安全。这种以密码技术为基础的安全保护,一旦移动终端的密钥发生泄露,整个通信机制将再无安全可言。因此,安全的移动终端密钥管理机制成为通信数据安全的焦点问题。目前,针对用户端到端通信密钥的安全问题,研究者们提出了很多Android平台的密钥管理方案,但是大多数密钥管理方案仅仅关注了密钥在协议层面上的安全性,很少或没有考虑密钥在移动终端的存储过程和使用过程中的安全性。由于Android系统存在安全漏洞,攻击者在利用这些漏洞获取终端设备的ROOT权限后,不仅能够很容易地获取存储在终端设备中的本地密钥,而且可以轻易地对本地密码运算进行追踪。因此为实现真正安全的移动终端的密钥管理,必须设计一种能够保证通信密钥在终端静态存储和使用过程中的安全性的密钥管理方案。本文基于对目前密钥管理方案问题的分析和对Trusted Execution Envrionment安全机制、AndroidKeyStore框架的研究,设计了一套可扩展的 Android 密钥管理框架(EAKMF,Extensible Android Key Management Frame)。该框架继承于AndroidKeyStore框架,对相关组件进行相应的拓展,添加了针对通信数据特有的密钥管理服务,达到保护通信数据密钥在移动终端安全存储和安全运算的目的。本文主要的研究内容和工作成果如下:(1)在研究Android系统的总体框架和安全机制的基础上,分析了 AndroidKeyStore的整体框架及其所提供的功能模块;此外还详细阐述了 TEE概念、架构,并分析了与TEE相关的标准规范及安全机制,指出了现有Android密钥管理机制的不足,以及TEE可作为密钥管理核心构件的原因。(2)基于对AndroidKeyStore框架的研究,本文设计了可拓展的Android密钥管理框架EAKMF,.详细阐述了 EAKMF的层次架构、核心模块及其核心流程,给出了对EAKMF的具体实现,通过分析,表明EAKMF比传统密钥管理方案有更高的安全性,比AndroidKeyStore框架有更好的拓展性。(3)针对EAKMF中的TEE技术,本文借助于OPTEE项目搭建了 TEE的软件实现环境,并基于该环境设计实现了基于TEE的密钥管理模块OTKMM,研发出密钥存储和密码运算等定制化的安全服务,来为上层提供安全保护功能。通过测试表明EAKMF中的TEE技术在现实应用中是可行的。