1、安卓程序开发毕业设计课案毕业设计说明书基于Andriod系统手机私人数据保护软件控制平台XXX学生姓名: 学号: XXXXXXXXX学 院: 专 业: XXXXX指导教师: 2016 年 6 月基于Andriod系统手机私人数据保护软件控制平台摘要随着信息时代的到来,人们在享受其带来的极大便利和利益的同时,也面临着信息安全的严峻考验,特别是在三年前的“棱镜门”事件曝光以来,公众对信息安全的重视提到了前所未有的高度,人们对保护自己私人数据的意愿也十分迫切。另一方面,随着传统互联网的进一步普及和新兴移动互联网的繁荣,人们各类社交账号、银行账号等信息也越来越多。记忆和管理数量庞大的账号密码便成了人们
2、的巨大负担。因此设计和开发一款安全、高效的软件来帮助用户管理各种账户和密码变得十分迫切和必要。本文主要介绍上述软件的设计开发过程和相关的开发知识。本系统是一款专注于私人数据保护的Android应用程序它作为安全类软件,有强大的数据安全保障机制。系统采用了AES加密算法作为程序数据加密算法,AES算法具有更高安全性、效率和灵活性,能够抵御已知的所有攻击方式。同时系统还具有登陆密码验证、数据加密秘钥验证、用户数据跨设备不可使用、非安全状态销毁数据、程序后台驻留控制等多种措施以保障用户数据安全。本系统在Windows系统环境下,使用SDK 4.4、SQLite、Eclipse进行开发而来。系统多维的
3、安全保障机制和简单易用的UI设计可以帮助用户安全、快捷、高效地管理私人账户及密码,让用户用得舒心的同时还能让用户用得放心。关键字:Android,信息安全,数据保护,AESBased on the android mobile phone personal data protection software control platformAbstractWith the advent of the information age, people are enjoying the great convenience and benefits brought by information reso
4、urces and also facing a severe test of information security in the coming information age. Especially the exposure of Prism incident three years ago raising the public attention to information to an unprecedented height. People are becoming more urgent to protect their privates. On the other hand, a
5、long with the further spreading of traditional Internet and prosperity of emerging mobile Internet, peoples all kinds of social accounts and bank accounts information are also increasing. Memory and management of a large number of the account password have become a huge burden on the people.Therefor
6、e, the design of a secure and efficient software to help users manage various accounts and passwords has become a very urgent desire.This paper mainly describes the design and development process of the above software and related development knowledge.This system is an Android application which focu
7、s on the protection of personal data.As a security software, there are many strong data security mechanisms.The system uses the AES encryption algorithm, a algorithm with higher security, efficiency and flexibility which can ithstand all known attacks.And it has multiple security measures to protect
8、 user data, a login password authentication, data encryption secret key authentication, user data can not be used across devices, a non-secure state destroy data, program daemon control ,etc.The system develop from SDK 4.4, SQLite, Eclipse under Windows environment.Multidimensional security mechanis
9、m and easy used UI design can help users managing private accounts and passwords more secure, fast and efficient. Allowing users to simultaneously get the convenience and safety.Keywords:Android, information security, data protection,AES1 引言 11.1 开发背景 11.2 研究内容及意义 12 系统分析 12.1 研究目标 12.2 需求分析 22.3 性能
10、分析 23 系统开发及相关技术 23.1 Android开发环境介绍 23.1.1 Android是什么 23.1.2 Android系统架构 23.1.3 已发布的Android版本 33.2 Android开发平台搭建 43.2.1 准备所需的软件 43.2.2 开发环境搭建 44 主要功能模块设计 84.1 安全策略 84.2 引导 94.3 软件登陆密码设置及修改 10 4.4 数据加密密钥设置及修改 11 4.5 项目信息添加、显示、删除及修改 13 4.6 用户数据备份及导入 15 4.7 非安全情况下销毁数据 16 4.8 数据跨设备不可用 175 数据库设计 185.1 账号密
11、码表 185.2 登陆密码表 18 6 程序实现 186.1 程序工程目录 186.2 引导 206.2.1 主程序引导 206.2.2 首次使用引导 216.3 密码、秘钥验证 22 6.4 程序主界面 25 6.5 项目信息添加、显示、删除及修改 25 6.6 用户数据备份及导入 28 6.7 登陆密码修改 32 6.8 加密秘钥修改 336.9 程序后台驻留 35 7 总结 36 附录 34 参考文献 37 致谢 381 引言1.1 开发背景随着智能设备的快速普及,特别是智能手机和平板设备,移动互联时代逐渐呈现在我们的面前。在信息时代,人们在享受信息资源所带来的极大便利的同时,也面临着信
12、息安全的严峻考验。尤其是三年前的“棱镜门”事件曝光以来,公众对信息安全的重视提到了前所未有的高度,人们对保护自己私人数据的意愿也变得十分迫切。另一方面,伴随着传统互联网的进一步普及和新兴移动互联网的繁荣,人们各类社交账号、银行账号等信息也越来越多。出于信息安全的考虑,管理和保存这些账号和密码又不能简单地记录在纸上,单凭大脑去记忆数量如此庞大的信息更是一件不可能完成的事。在这样的双重时代背景之下,设计开发一款私人数据保护软件就显得十分有必要,为保证用户使用的便捷性我选择以移动端设备作为使用平台。当前主流的移动智能设备平台有Android、IOS以及WindowsPhone,但是考虑到用户群的数量
13、和设备的可获得性,最终的选择了Android平台。1.2 研究内容及意义本软件是在Andriod系统上进行的设计和开发,提供如下功能:初次使用引导、软件登陆密码设置、软件登陆密码修改、数据加密密钥设置、数据加密密钥修改、账户密码信息添加、账号信息显示、账号信息修改、用户数据备份、用户数据导入及非安全情况下销毁数据等功能。基于Andriod系统手机私人数据保护软件控制平台的开发可以帮助用户安全、快捷、高效地管理用户的私人账户和密码。简单易用的UI设计可以节约用户对其的管理成本。同时多维的安全保障机制保证了用户信息的安全。2 系统分析2.1 研究目标(1) 了解在Android平台上进行应用程序开
14、发的过程;(2) 运用Android应用开发技术进行私人数据保护软件控制平台软件的开发。本软件是使用Eclipse作为IDE(Integrated Development Environment )开发工具,并运用AES(Advanced Encryption Standard)标准作为加密算法,为用户数据安全保驾护航。2.2 需求分析本软件是一个专注于私人数据保护的应用程序,对用户的私人数据进行管理和保护以降低用户管理私人数据的成本,因此应用应该简单易用、拥有人性化设计的UI,以及最为核心的安全保障机制。从上面的描述中可以基本了解软件的功能需求:1有强大的数据安全保障机制;2用户使用引导;3
15、数据加密密钥设置及修改;4软件登陆密码设置及修改;5项目信息添加、显示、删除及修改;6用户数据备份及导入;7非安全情况下销毁数据;8数据跨设备不可用等;9后台驻留机制。2.3 性能分析数据保障机制安全合理、程序响应迅速、信息处理速度快、UI设计人性化、程序健壮等。3 系统开发及相关技术3.1 Android系统简介3.1.1 Android是什么Android(安卓)是美国著名科技公司Google在2007年11月5日公布的基于Linux内核的操作系统,是一个移动设备,智能手机和平板电脑的操作系统。它是由Google领衔的手机联盟开发,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首
16、个为移动终端打造的真正开放和完整的移动软件。3.1.2 Android系统架构为了更好的理解Android系统是如何工作的,我们下面看一下它内部的系统架构。Android大体可分为四层框架,五块区域。2(1) Linux内核层Android系统基于Linux2.6的内核,该层为Android设备的硬件提供了最底层的驱动支持,例如电池管理、音频驱动、显示驱动、蓝牙驱动、WiFi驱动等等。(2) 系统运行库层Android系统包含了一些C/C+库,这些库提供给Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。例如SQLite库提供了数据库的支持,SGL库提供底
17、层的2D图形引擎的支持,OpenGL|ES库对3D绘图提供支持等。(3) 应用系统层这一层提供了构建应用程序时可能用到的各种API(Application Programming Interface),Android系统自带的许多核心应用就是使用这些API完成的,当然Android程序开发者们也能使用这些API来开发自己的应用程序。(4) 应用层全部安装在Android设备上的应用程序都是属于这一层的,比如系统自带的通讯录、浏览器、相机等程序,以及用户自己从各类应用商店下载安装的社交软件、各种游戏软件,甚至是你自己开发的应用程序。图3.1 Android系统架构3.1.3 Android已发布
18、的版本2008年9月,Google正式发布了Android1.0系统,这是Android系统最早的版本。在这之后的几年间,Google不断的推出新的版本,Android2.1、Android2.2、Android2.3系统的推出使得Android占据了大量的市场份额3。在2013年2月,Google发布了Android3.0系统,这是特别为平板电脑设计的Android系统,但是市场反应并不好,是Google发布的众多Android系统中为数不多的失败的版本。之后不久,也就是同年10月,Google又发布了全新的重量级版本Android4.0系统,该版本统一了手机和平板电脑,不再对其进行细分,即
19、应用能在手机上使用,也能在平板电脑上使用。2014年10月15日的Google I/O大会发布了新一代的Android 5.0系统,这个版本的使用新的编译模式ART模式,替代了老旧卡顿的Dalvik,使得这个版本的Android系统成为了Android史上最为流畅的系统,为用户体验带来了极大提升。2015年5月28日的Google I/O大会发布了Android 6.0系统,这个版本的系统在电量管理、指纹识别、权限管理、APP关联方面提供了全新的支持。2016年5月19日的Google I/O大会发布了Android7.0系统,这也是目前为止最新的Android系统版本。3.2 Android
20、开发平台搭建Android应用开发可使用Google推出的开发工具Android Studio,也可以使用IDE工具Eclipse进行发开,这里所要使用的就是Eclipse的方式。 3.2.1 准备所需的软件(1) JDKJDK(Java Development Kit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心,它包含了Java的运行环境,Java工具和Java基础的类库7。我们知道Android系统是使用Java语言来进行开发的,因此Java程序开发时所必需的JDK在Android开发中同样也必不可少。(2) Andro
21、id SDKAndroid SDK(Android Software Development Kit)是Google提供的Android开发工具包,在开发Android程序的时候,我们需要引入该工具包,来使用Android开发相关的API。(3) Eclipse相信所有熟悉Java开发的开发者对这个工具一定都非常熟悉,它是Java开发的利器,是最好用的IDE工具之一。因为这个工具是开源的,所以使得有很多优秀的基于Eclipse制作的IDE工具得以问世。Eclipse支持非常多的插件工具,使得它不仅仅用于Java程序的开发,几乎所有主流的开发语言都能得到良好的支持8,这其中当然也包括Androi
22、d开发。(4) ADTADT(Android Development Tools)是Google提供的一个Eclipse插件,提供了一个高度集成发、强大的Android开发环境。安装了ADT就可以进行联机调试,并且能够模拟各类手机事件、分析程序性能等等。3.2.2 搭建开发环境Google提供了一种很便捷的方式,在Android官网下载到一个已经绑定好SDK的工具包,开发时所需要用到的Android SDK、Eclipse、ADT插件都已经包含在里面了,这样可以省去很多费时的安装操作。图3.2 SDK工具包目录其中SDK Manager是Android SDK的管理器,双击打开它可以看到所有可
23、下载的 Android SDK版本。因为Android版本已经很多了,都下载的话会很耗时,同时对硬盘空间的需求也很大。并且我们开发的程序主要面向 Android 4.0 以后的系统,因此这里只勾选API 14以上的SDK版本,如图3.3所示。图3.3 SDK Manager勾选完后点击右下角的 Install 42 packages,会进入到一个确认安装界面,如图 3.4所示。图3.4 选择SDK进行安装选中右下角的Accept License,然后点击Install,只需要等待下载结束,这一个过程可能会持续很长的时间,请耐心等待。经过漫长的等待之后,SDK终于是下载完成了。下载好的所有内容都
24、放在了sdk目录下,里面还包含开发包、文档、示例、源码和其他一些东西。先看一下eclipse这个目录。进入eclipse目录,因为eclipse是免安装的,因此直接点击eclipse.exe来启动 Eclipse程序。这个Eclipse是安装好ADT插件的,因此已经可以直接在这个 Eclipse 上进行Android 程序开发!界面和普通的Eclipse没多大区别,不过安装过 ADT插件的 Eclipse还是会多出一些东西来,比如在 Eclipse 的工具栏中会出现Android SDK Manager和Android Virtual Device Manager的图标。Android SDK
25、 Manager之前已经介绍过了,下面介绍一下Android Virtual Device Manager,这个是用来开启 Android 模拟器的,在开发的时候如果没有Android手机的话,就必须使用模拟器了。当然建议调试程序的时候使用手机来进行,因为Android,模拟器会很卡很慢。点击Android Virtual Device Manager,也就是中间的图标会弹出如图3.5所示的窗口。图3.5 Android Virtual Device Manager点击右边的“New.”按钮可以创建一个新的Android模拟器,如图3.6所示。图3.6 添加新的Android模拟器这里我们创建
26、一个Android 4.4 系统的模拟器,因此模拟器名就叫 4.4 好了,设备选择 5.0英寸屏幕的手机,目标指定为Android 4.4,然后分配一下手机内存和 SD卡的大小,点击OK就可以了。等待创建完成后,选中刚刚创建的模拟器,点击Start按钮,在弹出窗口中点击 Launch,就可以启动模拟器了,启动完成之后的界面如图3.7所示。至此,Android 开发环境就已经成功搭建完成了。图3.7 运行Android模拟器4 主要功能模块设计 4.1 程序安全策略设计作为信息安全类应用,优先考虑数安全问题,解决安全问题再考虑相应的功能实现;应用不安全,其他的功能再强大也没有用。因此必须有强大的
27、安全机制作为保障,首先要做的就是选取一种合适的加密算法。通过查询相关资料,对各种加密方式加密算法诸如:DES、IDEA、RC2、RC5、AES等进行分析、对比后,最终选择最为合适的加密算法AES作为本应用的数据安全基础。同时应用设置登陆密码验证、数据加密秘钥设置、用户数据跨设备不可使用、非安全状态销毁数据、程序后台驻留控制等等措施来保障用户数据安全。程序数据安全机制如图4.1所示。 图4.1 数据安全策略4.2 引导 在启动程序后,系统将自动检测用户是否第一次使用本软件。在用户首次登陆的时候,引导用户进行秘钥和密码设置,同时给出友好的提示。程序具备方便快捷的操作体验。登陆引导流程如图4.2所示
28、,效果如图4.3所示。图4.2 登陆引导流程图4.3 首次登陆引导效果4.3 软件登陆密码设置及修改考虑到实际使用的需求,软件提供密码设置和修改的功能,登陆密码设置流程如图4.4所示、登陆密码修改流程如图4.5所示、效果如图4.6所示。图4.4 登陆密码设置流程图4.5 登陆密码修改流程图4.6 密码设置及修改 4.4数据加密密钥设置及修改软件提供加密秘钥的设置和修改的功能,加密秘钥设置流程如图4.7所示、秘钥修改流程如图4.8所示、效果如图4.9所示。 图4.7 秘钥设置流程图4.8 秘钥修改流程 图4.9 加密密钥设置及修改4.5项目信息添加、显示、删除及修改添加:软件提项目信息添加功能,将添加的数据使用AES加密处理后存入数据库中,进行数据持久化处理。其中可以添加项目描述、账号、密码、以及备注等信息。图4.10 项目信息添加流程图4.11 项目信息修改流程图4.12项目信息添
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1