基于Android的隐私数据安全保护系统 研究与实现 闫晓丹。闰伟 (北京邮电大学计算机学院,北京100876) 摘 要 随着移动互联网的快速发展,手机已经成为重要的移动互联网设备 作为移动互联网终端的手机所受的安全 威胁已不亚于传统Pc。移动终端设备无时无刻不面临着安全风险,如设备丢失、操作系统漏洞、应用程序漏洞、恶意 软件、网络攻击等。文章针对Android的安全和隐私信息的保护进行了讨论,并设计程序实现了隐私数据加密,锁定 程序、数据擦除等功能。通过大量实验的反复测试,该系统可以有效保护Android系统内部的隐私数据,从而全方位 实现Android隐私数据的保护,并为以后相关研究提供了新的方向。 关键词数据擦除:数据加密;隐私保护 中图分类号:TP3 文献标识码:A 文章编号:1671—7597(201 3)20-0073-03 有各自的系统标识(Linux用户ID和组ID),并且运行在 随着基于互联网的移动应用功能和服务的迅速扩展,智能 手机在日常生活中得到了更广泛的应用。在移动终端上可以处 理个人业务,短信、通讯录等个人数据通常存储在智能手机中, 用户不希望这些数据被非法获取和使用。利用Android系统安 全漏洞,黑客能够获得Android系统和所有已安装应用的最高 的沙箱中,通过静态的声明所需要的权限来明确地为应用 程序分配资源和数据。应用程序对资源(如系统资源和目志文 件)、敏感数据(如照片、通讯录、短信等)及系统接口(如网 络、蓝牙、GPS等)的访问受到Android的权限框架。在 程序安装时,Android系统会提示用户是否同意应用程序获取 这些权限,程序所需权限必须被用户全部赋予,并且安装完成 访问权限,获取用户移动终端的个人数据,造成严重的数据泄 露问题。因此设计开发基于Android的隐私安全保护系统显得 尤为重要。 针对Android系统存在的安全问题,对以下功能模块进行 设计与开发:①数据加解密:文件加密模块主要将sD卡中的数 据使用DES算法进行加密,数据加密模块在客户端运行: ②用户安全:通过对用户保险箱加密实现对用户可以访问的资 源权限进行划分,具备安全可靠的用户管理功能;③远程数据 擦除:手机丢失后,为了保护设备中存储的隐私数据,需要实 现远程数据擦除。 后用户不能改变己获得的权限,这种粗粒度的特性产生了潜在 的安全缺陷。一方面,用户为程序访问隐私数据赋予权限,程 序获得权限后,对授权隐私数据的使用不再受到控制,用户也 不会获得Android系统的通知;另一方面,Android缺乏应对 权限提升攻击的有效机制。通过对最新的攻击手段进行研究表 明,利用其他程序的漏洞,非授权应用可以间接获得隐私数据; 攻击者还可以利用组合权限窃取隐私,组合多个恶意程序或已 感染的程序形成串谋攻击。 1系统需求与设计 1.1系统需求分析 移动终端设备无时无刻不面临着安全风险:设备丢失、操 作系统漏洞、应用程序漏洞、恶意软件、网络攻击等等。为保 护重要和私密的文件、图片和其他文件不受未经授权的访问, 程序在加载文件时需要进行身份认证,对于重要的私密的文件 需要进行加密存储,移至安全保险箱中进行保护。 通过对需求的分析,用户需要制定以下安全策略来保护手 机中的个人数据。 1)增加用户密码的复杂度。在短时间内,增加非法用户获 取手机访问权限的难度,保护用户隐私数据不被窃取。 2)数据远程擦除。当用户手机丢失时,为了降低用户个人 针对Android安全机制存在的问题,设计了保险箱机制, 非法用户获得权限也无法对保险箱内的隐私数据进行操作,通 过对数据加密并存入保险箱中,保护了数据的完整性和机密性。 1 3系统功能分析 该研究的主要内容是设计并实现一款基于Android的用户 隐私数据安全保护的系统软件,以保险箱的形式对用户隐私数 据进行加密保护,通过数据的远程擦除防止用户丢失手机后, 个人隐私信息被窃取。 为实现上述需求,针对3个功能进行设计与开发:设备安 全、用户安全和数据安全。数据安全利用DES算法对用户数据 进行加密;用户安全通过文件压缩和MD5算法实现保险箱功能, 保证了加密的用户数据文件的完整性;在设备丢失后,用户向 服务器请求数据擦除,远程服务器通过下发数据擦除命令对设 备数据进行擦除,保护存储的数据不被泄露。 信息泄露的风险,需要远程发送指令来擦除手机中的数据。 3)数据加密。将sD卡中的数据使用对称加密算法进行加密, 防止数据泄露,数据加密模块在客户端运行,这样就可以 防止加密的数据在服务端被窃取。 1 2 Android安全机制 Android是一个权限分离的系统,其核心安全机制主要包 括程序应用签名、权限框架和沙箱。Android没有使用不利于 安全的动态授权机制,在Android上运行的每个应用程序都具 2数据安全 2.1功能简介 数据安全主要是通过加密数据来保护数据的机密性。本系 统特别为保护重要和私密的文件、图片和其他文件不受未经授 权的访问而设计,程序在加载文件时均会进行身份认证,采用 DES算法对重要的私密的文件进行加密保护。 2013年第20期总第140期 S_L_C0N VALLEY 2.2 DES算法原理 DES算法的解密密钥和加密密钥可以相互推导出来,是一 种对称密码算法,大多数对称密码算法的密钥是相同的。DES加 密算法实现加密需要3个步骤:变换明文;按照规则迭代;对 L16R16利用IP—l作逆置换,就得到了密文。 2.3功能 3.4功能 1)核实身份:用户身份核实通过后,可以读取保险箱内的 隐私数据,防止了非法用户对隐私数据的盗取和非法应用。 1)身份认证:用户输入口令并验证通过才能进入到保险 2)安全私密存储:系统会为用户创建一个保险箱,重要的 私密的文件移至安全保险箱中进行保护,该保险箱是通过对文 件夹的压缩并采用MD5来实现安全私密存储的。该保险箱对外 显示为一个损坏的压缩文件,未经授权的非法用户无法访问保 险箱内的私密文件、图片和其他文件,程序在加载文件时均会 箱,非法用户未经授权,不能访问受保护的重要和私密文件、 图片和其他文件,甚至存储卡被取出并通过其他设备或读卡器 也不容易获取其真实内容。 2)数据加密:采用DES算法,安全高效的对文件内容进行 加密,这主要是应用了DES算法加密灵活性的优点,加快效率, 可以处理各种形式的文件,这就在最大程度上为用户提供了安 全性保护。每个文件都有自己的文件密钥,文件密钥是由用户 密钥与时间经过随机算法产生的,这样就加大了文件的安全性, 防止文件被强行破译。 2.4程序实现 通过Cipher.getlnstance( DES/cBC/PKCs5Padding )调用 DES算法来实现数据的加密,其中,CBC是工作模式,DES一 共有输出反馈模式(OFB)、电子密码本模式(ECB)、加密反馈 模式(CFB)和加密分组链接模式(CBC)四种模式。核心代码 如下:cipher.init(Cipher.ENCRYPT_MODE,this.key): cipher.init(Cipher.DECRYPT MODE,this.key): 3用户安全 3.1功能简介 用户安全主要是保证文件的完整性。文件的完整性可以被 破坏,其完整性的保护是通过外层加密来实现的。外层加密, 简而言之,是对文件夹的加密,但是,直接对文件夹加密是不 可行的。而且由于加密后的文件夹不可用,在存储空间上也存 在着浪费,这就需要对文件夹进行处理。先对文件夹进行压缩, 然后采用MD5算法对该压缩文件进行加密,通过对文件夹的压 缩并加密来实现外层保护的。 3.2 MD5算法原理 MD5是一个安全的散列算法。MD5算法是不可逆的,根据 输出的数据不能得到原始的明文,输入两个不同的明文会产生 不同的散列值;无法利用已有的算法来破解MD5,需要利用MD5 算法将可能出现的明文进行处理,形成散列值,构建出明文和 散列值的映射表,通过匹配映射表即可得到所对应的原始明文。 输入任意长度的数据,MD5会对该数据产生一个长度为128比 特的信息摘要。这一输出可以被看作是原输入报文的“报文摘 要值(Message Digest)”。MD5以512位分组来处理输入的数据, 且每一分组又被划分为16个32位子分组,经过了一系列的处 理后,算法的输出由4个32位分组组成,将这4个32位分组 级联后将生成一个128位散列值。 3.3特性 隐私性:通过对用户的身份认证来进行用户对文件访问的 权限控制,通过对需保密的文件夹进行压缩及加密,对需保密 的文件进行加密的方式来保护用户的文件安全。用户输入口令 并验证通过,才能访问隐私数据。 完整性:非授权用户除了破坏保险箱之外是无法对其进行 操作的,在真正意义上起到了对文件完整性的保护。对箱子进 行操作的必要条件是具有钥匙,即用户密钥。 进行身份认证,通过认证后即可访问。 3.5处理流程 用户首先要进行注册,系统会自动生成保险箱,并将密钥 和用户信息存入数据库,当用户再次登录,需要输入用户名及 口令,验证通过后,会对保险箱进行解密并解压,成功后用户 即可对保险箱内的文件进行操作,关闭保险箱时,会先对保险 箱进行压缩并加密,保护文件的完整性。 r 证成功后■凭l 一密,然后进行解I对保险箱进行解}I I压 I I\/ ~、 一r疆取_文件_时■丽 密文件:添加文I I件时,加密文件l 、 /—~、l 一I_死对葆陵藉进彳亍l l }压缩,然后进行l j/加密 ~--3 f 、 ~图1用户安全处理流程图 3.6程序实现 在Java中,Java.SecuritY.MeSsageDigest(rt.jar 中)已经定义了MD5的算法,getMD5String(String S)和 getFileMD5String(File file)两个方法,分别用于生成字符 串的md5校验值和生成文件的md5校验值,通过调用MD5包对 压缩文件进行加密,核心代码如下: M e s s a g e D i g e s t m d = M e s s a g e D i g e s t. get Instance( MD5 ): md.update(plainText.getBytes()): 4设备安全 4.1功能简介 为了保护设备中sD卡中存储的数据,在设备丢失后,用户 向服务器请求数据擦除,远程服务器通过下发数据擦除命令对 设备数据进行擦除,保护存储的数据不被泄露。 4.2特性 主动防御性:用户通过服务器发送指令,触发手机中控制 指令的执行,远程销毁用户的隐私数据,防止数据被非法用户 窃取。 T 4 3功能 GY R&D 5结束语 本文设计并实现了一种基于Android的隐私数据安全保护 系统,防止了隐私信息被非法用户窃取,现阶段,系统的设计 1)远程擦除数据:当用户发现手机丢失后,可向服务器请 求数据擦除,远程服务器通过下发数据擦除命令对设备数据进 行擦除。 手机将向用户回复地理位置。 4.4程序实现 2)地理位置:当用户向服务器发送获取地理位置的指令, ‰一~删k 忡 岫 删一一~~~ 一 ~一~ ~一川 叩一一一一 ~,一~~~k, ∞ 虾:一~一~ ~一一一一.二 ~一 参考文献 化,2009(587):6-8. 此过程主要定义三个函数。手机客户端接收到服务器 发送的指令,会调用下列三个函数来执行删除短信、通讯 录及获取手机地理位置的指令。通过调用deleteSMS()和 deleteContacts()函数,在数据库中进行匹配查找号码对应 工作基本完成,并进行了初步测试,实现了对隐私数据加密和 解密,以及远程控制客户端。系统需要进一步改进,如对隐私 数据的加解密效率过低,远程控制连接成功率有待优化。下一 步的工作将会建立一套优化机制,提高加解密的效率以及远程 控制连接的成功率。 [1】李杰,李新艳.数据加密中的DEs加密算法详解[J].商业现代 [2]张裔智,赵毅,汤小斌.MD5算法研究[J].计算机科学, 2008,35(7):295-297. 的数据,删除相应的短信和通讯录。调用sendLocation()函 数来获取手机地理位置。 deleteSMS()的核心代码如下: CR.delete(Uri.parse( content +threadId),nul1,nul1): 【3】蔡皖东.网络与信息安全【M】.陕西:西北工业大学出版社, ~ ~一 一 ~一M 【D].哈尔滨:哈尔滨m-,_lk大学,2011. 邮电大学出版社,2009. 2OO4. [4]刘泽衡.基于Android智能手机的安全检测系统的研究与实现 [5】谷利泽,郑世慧,杨义先.现代密码学教程[M].北京:北京 [6】张京京,闰晓蔚,蔡建顺,郭曙光.基于hndroid系统的手机 隐私安全的研究与实现【I1.信息网络安全,2012(05):59. [7]吴剑华,莫兰芳,李湘.Android用户隐私保护系统[J].信息 网络安全,2012(09):5O. [8]虞歌.基于口令的加密及其实现[J】.计算机时代,2004 (O7):18-24. 作者简介 闰晓丹(199卜),男,汉族,山东济宁人,硕士,研究方 向:信息安全。 闰伟(1985-),女,山东济宁人,博士,研究方向:人工 智能 ”(上接第75页)" 用普通示波器将电路暂态过程完整显现出来。 4结束语 电路暂态过程是电路系统中的一种常见现象,本文首先分 析了电路暂态过程的原理,然后通过实验对电路暂态过程进行 了进一步的阐述,最后讲述了电路的测量方法,有利于让大家 深入了解电路暂态原理。 如图3左边电路图所示,通过运算放大器可以组成一个负 阻变换器,通过A端与B端可以对R1的电阻值进行调节,并且 得出阻值不一样的负电阻,在RLC电路中,电路阻值为R—R1, 若Rl发生改变,R与R1相等,则电路振幅振动过程就可以形成。 参考文献 [1]李新,许中,席世友.不对称耦合电感对三相电路暂态过程 影响分析【J】.高电压技术,2010(3). 图3 [2]王宗篪,刘少伟.RLC串联电路暂态过程临界阻尼电阻的傅里 叶分析[J].福建师范大学学报(自然科学版),2011(5). [3】黄贤群.RC串联电路暂态过程时间常数的测量[J].实验室科 学,2O12(3). 右边的电路图是机械式光线示波器拍摄阻尼振荡图,这个 示波器主要依靠感光记录传输信号,它的一种电路测量的专用 仪器,能够实现振荡波形的拍摄工作,在电路过程中主要利用 继电器对其进行控制,它能够对震动波形进准确记录,当结束 拍摄后,只需将感光纸取出,便能够对波形进行测量与观察。 [4]李姿,李曼,王津.二阶电路暂态过程与状态轨迹的实验研 究….科协论坛(下半月),201 3(8). 【5】吴昊.应用于并联型高压断路器的高耦合度电抗器高频 暂态过电压研究[D].华中科技大学,2011.