继上一篇博文《项目回顾之一:PlanBetter时间管理软件(基于Android平台)》之后,开始着手这篇博文的编写。
说在前面的
首先,我想简单介绍一下这个项目的背景。项目名字有点长,叫做“PhoneProtector: 基于Android平台的手机隐私保护系统”。不理解的人可能会觉得是不是博主有点脑残,直接叫PhoneProtector不就好了。嗯,其实我也觉得取这么长的名字有点多余,但是这个项目为2012年全国大学生信息安全竞赛的参赛项目,名字至少要体现一点深度吧。除了完成一个项目以外,还需要写一篇竞赛作品报告。这个竞赛作品报告有点类似于论文,我们写了正好100页,洋洋洒洒2万多字的文档。先前都以为写好文档才是王道(当然作品也做得很认真,不含糊),连导师看完报告后觉得进决赛肯定没问题,可惜,这个项目出乎我们的意料没有进入决赛。后来,组长说可能是这个项目的名字不够霸气,如果把前面的"PhoneProtector"去掉可能会更有影响力,当然这只是玩笑话罢了。背景就介绍这么多。
项目需求
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")
下面对这些功能做具体介绍:
1.短信远程操控:当本系统处于保护模式时,系统激活后台程序部分,监控SMS短信内容,如果短信内容符合系统定义格式,则进行相应的操作,支持的操作有:锁定系统、获取当前位置信息、联系人信息备份以及手机个人信息清空,包括联系人、短信以及SD卡数据。这些操作都是通过利用普通的SMS短信来实现,无需特殊的数据传输。
短信的格式为:[ PH 锁定密码 操作码 ]
操作码分为01,02,03。01是锁定手机,02为备份联系人,03为格式化个人信息。03操作指令只有在信任号码发出的时候才会生效,否则被转为01操作。当操作码不正确的时候,默认转为01操作。每次短信操作时,只能使用一个号码,即忽略其他号码的短信。
2.手机加锁解锁:用户可以通过给本机发送短息,远程将手机加锁,加锁之后,除非输入解锁口令,否则本系统可以保证其他的一切操作都无法使手机解除锁定。本系统锁定模块的抗破坏性较强,可以防御一般的恶意解除手段,包括SIM卡替换、SD卡替换以及关机重启等。在手机被锁定后,锁定界面只能进行:输入解锁密码、拨打发送锁定短信的号码和接听来电这三个操作。
用户正确输入解锁口令后,系统解除手机锁定。系统保留一个信任号码,若用户忘记密码,则可以向信任号码发送短信,来获取密码。
3.当前位置信息获取:当系统被远程锁定之后,系统会向来信号码返回锁定完成确认以及手机当前位置信息。
4.联系人信息备份:当手机丢失之后,对手机用户来说,最重要的就是联系人数据。无论手机是否被锁定,用户都可以将联系人信息备份至邮箱内。不同的是,正常使用情况下,用户通过系统主界面来执行备份,而当手机丢失或被盗后,用户可以通过短信远程执行联系人备份。
5.手机个人信息格式化:即清空手机上贮存的个人信息,包括联系人、通话记录、短信记录、SD卡数据(如下图)。由于本操作是不可逆操作,一旦用户执行,信息将永久地被删除,因此为了防止该操作被滥用,本系统要求只有信任号码发送的该操作指令才能被执行,否则任何其他的号码发送的该指令将被转成锁定指令。
6.系统模式切换:本系统共有两种模式供用户切换,分别为普通模式和保护模式,在普通模式下,系统只开启保护手机功能,而不开启自保护功能,系统也可以被用户正常卸载和删除。而在保护模式下,系统在后台启动监控服务,开启保护措施,当接收到执行指令时,就执行指令,包括备份联系人、锁定手机、格式化信息等,此时,本系统开启防卸载和数据删除功能(即系统自保护功能),应付企图使系统异常工作的动作。
7.用户信息设置和修改:由于本系统的工作依赖于用户的信息,具体的信息包括:锁定密码、解锁密码、信任号码以及电子邮箱。系统在每次运行的时候,检测这些信息是否完整,如果不完整则跳转到信息设置界面,直到用户输入完整信息。在信息修改界面中,用户可以输入相应的密码来修改这些信息。
8.密码找回:当忘记密码的时候,用户可以通过该功能找回密码,该功能向信任号码发送一条包含密码的短信,用户也可以选择将密码发送到邮箱中,为防止此功能被滥用,系统设定每两次密码找回动作之间的时间间隔必须大于10分钟。
正常情况下,用户可以找回锁定密码和解锁密码,而当手机被锁定时,只能找回解锁密码。之所以这样设定,是在锁定情况下尽量减少与外界的数据交互。
9.SIM卡检测:应对手机SIM卡被非法替换或卸下的情况,如果开机时检测到SIM卡被替换,则调用锁定模块将手机锁定。
10.系统自保护:这是本作品的创新点之一。一般的手机防护应用,都可以通过系统的任务管理器轻松的卸载和数据清空,但是本系统如果处于安全模式下,就不会被轻易改动,不可以被停止、卸载和清空数据,增加了系统本身的鲁棒性和实用性。
上图即为本系统结构图,系统分为前台界面与后台保护服务,用户可以在前台界面执行相应的功能,例如模式切换、修改信息、联系人备份、密码找回等,后台保护服务主要有三个子系统,分别是手机锁定子系统、短信处理子系统以及防御子系统。
前台界面与后台服务之间有数据交互,如密码找回需要通过短信处理系统来进行短信操作。手机锁定子系统负责将手机锁定,防止陌生人非法使用手机,短信处理子系统负责处理与短信有关的操作,包括短信拦截,发送短信,读取短信内容等,防御子系统负责系统本身的自保护,应对外界对本系统恶意的破坏,包括卸载、删除、强制停止以及清空数据等。
远程手机可以通过发送SMS短信与系统进行交互,通过包含密码来执行相应的指令,如锁定、备份以及格式化等,在进行联系人信息备份时,系统需要通过数据交换,将联系人信息数据发送至邮件服务器。
2. 设置完成后提示安装保护程序
4. 主程序关闭保护模式后,主程序和保护程序界面显示
5. 发送加锁短信,出现锁屏界面
注:解锁失败次数超过10次,“解锁锁定”按钮会被禁用
6. 关于