项目回顾之二:PhoneProtector基于安卓平台的手机隐私保护系统
继上一篇博文《项目回顾之一:PlanBetter时间管理软件(基于Android平台)》之后,开始着手这篇博文的编写。
说在前面的
首先,我想简单介绍一下这个项目的背景。项目名字有点长,叫做“PhoneProtector: 基于Android平台的手机隐私保护系统”。不理解的人可能会觉得是不是博主有点脑残,直接叫PhoneProtector不就好了。嗯,其实我也觉得取这么长的名字有点多余,但是这个项目为2012年全国大学生信息安全竞赛的参赛项目,名字至少要体现一点深度吧。除了完成一个项目以外,还需要写一篇竞赛作品报告。这个竞赛作品报告有点类似于论文,我们写了正好100页,洋洋洒洒2万多字的文档。先前都以为写好文档才是王道(当然作品也做得很认真,不含糊),连导师看完报告后觉得进决赛肯定没问题,可惜,这个项目出乎我们的意料没有进入决赛。后来,组长说可能是这个项目的名字不够霸气,如果把前面的"PhoneProtector"去掉可能会更有影响力,当然这只是玩笑话罢了。背景就介绍这么多。
项目需求
这个作品是基于这么一种需求而制定的。我们在日常生活中可能会经常碰到这样的情况:在上班时,发现手机落在家中;下班回家后,发现手机落在了工作场所;在上课,手机落在寝室中等等,甚至更严重的是,手机丢失了。当遇到这些情况时,手机不在自己身边,除了无法使用之外,更重要的一点是担心手机隐私被泄漏。虽然Android手机平台自带有这样的保护措施,如屏幕手势加锁或者密码加锁,但是大多数用户不会考虑用这种功能,因为它在一定程度上阻碍了用户对手机的正常使用。因此,一旦手机远离了自己,甚至丢失或被盗之后,想再采取安全措施就已经太迟了。而且当手机丢失以后,最重要的不是手机本身,而是手机内的隐私信息,包括联系人信息,短信内容以及贮存在SD卡上的数据信息,一旦这些信息被别有用心的人利用,后果将不堪设想。简单来说,就是对手机丢失后的一种补救措施。
市场调研
事实上,在我们构思从这个需求入手的时候,市场上已经有解决这类需求的应用出现了。例如著名的安全公司诺顿就出了一款Norton Security for android,它里边提供了一个功能就可以解决这个问题,通过设备远程锁定或数据清除。诺顿官方是这样介绍这个功能的:
If your phone is lost or stolen, you can use another phone or program to send text message to your phone.Each text message should consist of an action word(lock or wipe) and a code of your choice. (For example, "wipe code123") |
也就是说,就是在安装这款软件的时候,你要设置一个用来“加锁或格式化”设备的密码,如果你的手机丢了,那么用别人的手机发一条短信过去给手机加锁或者格式化,短信格式为“lock/wipe 密码”。但是这款软件有很多缺陷,比如别人捡到你的手机后就把这款应用卸载了,那你发短信就不起作用了;假如别人把你的卡换了怎么办?假如你加锁或格式化手机后,又在某一天拾到了你的手机,但是密码你又忘记了,你该怎么办?重刷系统?可能你会觉得本来丢手机的概率就很小了,发生这类情况的概率又是更小了,但是我们不排除这类情况出现的可能性。受到Murphy's Law的启发,既然有这类情况发生的可能性,我们就有必要提出解决方案。当然,有的手机厂商在制造手机的时候,就把这类功能定制到了手机硬件和操作系统中,例如HTC sense,印象中是可以通过电脑的客户端查到手机的GPS位置。但本作品是面向所有Android用户的,不依赖于具体的手机硬件和操作系统。
作品特性
本作品的主要特性在于:
1. 即使在手机不在身边的情况下,也能为手机用户提供最方便和迅速的隐私信息保护手段。方便是指用户可以利用SMS短信向手机发送操作指令,而迅速是指系统可快速执行用户指令和返回有用信息。
2. 防护的全面性,一旦系统锁定手机,除非输入正确的口令,否则无法获取用户隐私信息。
3. 系统本身的健壮性。独创Android进程间通信方式,通过守护进程机制来增强系统的抗击打能力,一般的手机应用可以轻松的被删除或卸载,然而,除非输入正确的口令,否则本系统将与用户的隐私信息一起存在于手机上,并正常工作。
4. 数据的安全性,本系统涉及到的用户数据被存储在数据库中,而且敏感数据(比如密码)经过加密之后才存入数据库中,而非明文存储,因此更安全。