论文部分内容阅读
随着移动技术的发展,智能移动终端成为人们工作和生活中必不可少的一部分。根据IDC的最新数据显示,在过去的2012年第三季度里,Android操作系统凭借其开源和高效等优点在众多智能终端操作系统中脱颖而出并占有约75%的市场份额。可是,在Android操作系统为用户带来便利的同时,其本身的安全问题也值得我们担忧。隐私泄露、骚扰电话、垃圾短信、疯狂跑流量等都是Android操作系统中比较常见的安全威胁。其中,隐私泄露的安全威胁尤为突出。而很多隐私泄露的安全威胁都是源自于Android操作系统所依赖的SQLite数据库。虽然SQLite数据库具有占用系统资源少等优点,但是没有采用有效的安全机制。因而SQLite数据库的安全问题成为Android操作系统中急需要解决的安全问题。本文将介绍一个基于远程服务能够保证Android操作系统中SQLite数据库安全运行的解决方案的设计以及实现。本解决方案基于一个可信任的远程服务,在SQLite数据库本身薄弱的安全机制上,引入了用户认证、数据库加密、操作审计和挂失机制保障SQLite数据库的安全。同时,所有的Android应用程序和普通用户都能够透明地使用本解决方案,使得本解决方案具有良好的易用性。本解决方案是基于客户端/服务器模型进行设计和实现的。在Android客户端中,本解决方案除了出于易用性修改了部分SQLite数据库管理系统的源代码和基于Blowfish算法实现了SQLite数据库管理系统的加解密接口之外,还在Android操作系统中增加了一些系统服务和一个用户认证应用程序。在远程服务器中,本解决方案不但实现了一个远程服务为Android客户端提供用户认证、密钥管理和挂失服务,而且还实现了一个网站供用户查看审计记录和完成挂失处理。最后,本文还对本解决方案进行了功能和性能测试。结果表明:本解决方案不仅具有良好的安全性和易用性,而且具有合理的运行性能。