中国科技论文在线
paper.edu
Android下SQLite数据库安全机制
刘树杰*
(北京邮电大学计算机,北京100876)摘要:Android作为强大的智能终端操作系统,深受用户的喜爱,基于该平台的应用日益增多。Android平台下提供了SQLite数据库作为数据存储的主要方式,但其自带的SQLite数据库没有提供任何安全控制机制,因而Android下数据库的安全性成为急需解决的问题。本文在分析常用的数据库安全机制的基础上,为其
设计了一套可行的安全机制,实现了数据库的口令认证和密文存储机制,增强了其安全性。关键词:SQLite数据库;安全机制;访问控制;口令认证中图分类号:TP309
DesignandImplementationofSQLiteSecurityMechanismBasedonAndroid
LiuShujie
(BeijingUniversityofPostsandTelecommunications,Beijing100876)Abstract:Androidisverypopularasanintelligentterminaloperatingsystem,andapplicationsbasedonthisplatforminincreasing.SQLitedatabaseisthemainlywayfordatastorage,butnosecuritymechanismwasprovidedinSQLite.Inthispaper,passwordauthenticationandDataEncryptionTechniquewereimplementedrefertothecommondatabasesecuritymechanism.Key
words:SQLiteDatabase;SecurityMechanism;AccessControl;PasswordAuthentication
0引言
Android是基于Linux内核的智能终端操作系统,是一个真正意义上的开放移动设备开发平台。通过其特有的Dalvik虚拟机使得程序可以在智能终端上得到高效的运行。更是由于其
免费与开源性,使得Android应用日益丰富,功能日益复杂。Android手机上存储了大量的用户个人信息,因此数据存储的安全性至关重要。由于数据库存储作为数据存储的重要方式,Android下数据库存储安全性的研究也就成为数据存储安全研究的首要任务。Android自带的SQLite是一个开源的数据库,它具有存储效率高、查询快、运行时占用内存小、能被多进程同时访问以及单文件存储数据库内容等优点。但是Android自带的SQLite数据库没有提供任何安全控制机制,由于使用单个文件存储整个数据库内容,所以只要得到它的数据库文件的拷贝,就可以使用SQLite命令工具甚至使用通用的文本编辑器,来得到数据库中存储的信息。对于那些有安全需求的应用而言,Android自带的SQLite数据库系统无法满足其需求。笔者在分析Android系统框架结构和常用的数据库安全机制的基础上,提出了针对Android下SQLite数据库安全机制的增强改进
方案,并对其具体实现进行了详细的论述。
1Android系统架构
Android平台主要由底层操作系统、本地系统库、Android运行环境、应用程序框架和应用程序组成。Android平台框架结构[1]如图1所示:
作者简介:刘树杰,(1985-),男,嵌入式系统.E-mail:liushujiehao@126
-1-
中国科技论文在线
paper.edu
Android平台基于Linux2.6版内核,内核为上层系统提供了内存管理、线程管理、网络协议栈和驱动模型等系统服务。Android平台强大的功能来源于底层的本地库,包括多媒体引擎OpenCore,浏览器引擎WebKit,2D图形引擎SGL和关系型数据库SQLite等。这些本地库通过上层的应用程序框架将编程接口提供给开发者调用,本地库和应用程序框架通过JNI(
JavaNativeInterface)连接。Android平台为应用程序提供了一个开放的运行环境,无论是内置应用程序,还是后续安装的应用程序,所有应用程序访问底层框架的能力是一致的,开发者可以使用应用
程序框架提供的API开发自己的应用程序。
图1Android
系统框架图
2数据库安全机制分析
数据库通常保存着企业、金融或政府等部门的重要数据,是信息系统安全的关键。不论是在单机还是在
网络环境下,数据库系统[2]都可能受到来自各个方面的威胁。数据存储的安全、敏感数据的窃取和篡改等
问题越来越引起人们的重视。数据库安全机制是指为了保护数据库以防止非法用户越权使用、窃取、更改或破坏数据而采取的技术手段。
2.1
常用的数据库安全机制
目前主流的数据库都采用了各种安全措施,主要包括用户认证[3]、访问控制、数据加密
存储和数据库操作审计等措施。由以上各种安全机制组成的数据库安全系统模型如图2所示:
图2数据库常用的安全机制模型图-2-
中国科技论文在线
paper.edu
用户认证:用户或者程序向数据库提供自己的有效身份证明,数据库鉴别用户的身份是否合法,只有合法的用户才能存取数据库中的数据。用户认证是所有安全机制的前提,只有通过认证才能进行授权访问和审计。访问控制:数据库
管理系统为不同的用户分配不同的权限,保证用户只能进行授权的访问。目前,一些大型数据库(如Oracle等)都采用了基于角色的访问控制机制,即为用户授予不同的角色,如db—owner,securityadministrator等,不同的角色允许对数据库执行不同的操作。数据库加密:用户认证以及访问控制对访问数据库进行了控制,但攻击者可能会利用操作系统或数据库漏洞,或物理接触
计算机,而直接