韩燕丽 杨慧炯
摘 要:本文在分析当前主流手机通讯录软件的安全机制及其特点基础上,提出了基于数据库文件加密和对联系人信息设置密钥的Android手机安全通讯录软件设计思想,并对软件的技术架构进行了论述。
关键词:安全通讯录;Android;工厂模式;三层技术架构;密钥
中图分类号:TP315 文献标识码:A
The Design and Implementation of Mobile Security
Communication Based on Android PlatformHAN Yanli,YANG Huijiong
(Taiyuan Institute of Technology,Taiyuan 030008,China)
Abstract:On the basis of analyzing the security and characteristics of the current major mobile communication software,the paper presents the design idea of Android mobile security communication software which is based on the database file encryption and the key for the contact information,and discusses the technical structure of the software.
Keywords:security communication;android;factory pattern;three layer technology;key
1 引言(Introduction)
据全球知名的市场调查公司eMacketer统计,截至2014年,我国智能手机用户已超过5亿,成为全球智能手机用户最多的国家[1]。智能机的普及使得通讯录逐步成为用户日常通讯中最为重要的信息沟通工具。但是,目前绝大多数手机的通讯录都存在联系人信息丢失、手机号码被盗等一系列安全性问题。特别是当手机丢失或被其他人拿到后,手机中的联系人信息、通话记录、短信记录等信息都可以毫无保留地暴露出来。
苹果、奇虎360等公司逐步认识到了通讯录信息安全的重要性,先后推出了对联系人、通话记录、短信等信息可以进行备份、加密等安全防护功能的手机应用。苹果公司从IOS7开始,可以在系统设置中对通讯录进行密码加锁,用户只有输入正确的密码后才能对通讯录进行操作。奇虎360则通过360手机卫士和360安全通讯录等应用对通讯录信息进行保护。在360手机卫士中,用户可以开启隐私空间,对联系人信息进行图形加密,用户只有输入正确的图形密码后,才能对联系人信息进行操作。在360安全通讯录中,则考虑到了用户的联系人信息丢失和诈骗、骚扰电话短信的识别拦截问题,利用360强大的云平台和大数据分析功能,可以将用户联系人、短信、通话记录等信息备份到云端,当信息丢失后可以随时随地进行恢复。通过对千万商家号码的收录和用户的标记,可以高效地查询商家、公共组织号码和识别诈骗、骚扰电话短信。
除此之外,百度通讯录、微信电话本等市场占有率较高的通讯录软件,基本上都是以云端备份、来电短信识别过滤以及通讯录整体加密等功能作为主要的安全手段。云端备份、来电短信识别过滤技术已经非常成熟并得到了用户的普遍认可。但是通讯录整体加密技术则由于用户每次进行操作时都需要输入文字或图形密钥,频繁的密钥输入势必造成较差的用户体验,使得此项功能没有得到广大用户的认可。
本文针对当前手机安全通讯录中存在的主要问题,在充分考虑用户体验基础上,将系统安全和软件执行效率作为重点加以考虑。
2 系统设计思想(Design idea)
(1)通过带密文的信息检索查询和显示支持,提高用户操作体验。
在用户进行最为频繁的通话、联系人等基本操作时,不需要输入密钥,只需输入检索关键字,即可将关联信息查询出来并且将加密的联系人信息以密文的形式显示。只有对联系人信息进行编辑和需要查看联系人详细信息时,才需输入密钥进行验证。相对于通讯录整体加密技术,该方法既保证用户信息重要通讯录信息不被泄露,又可以大大减少用户进行密钥验证的次数,极大地提高了用户体验效果。
(2)通过数据库文件整体加密、联系人字段密钥保护和加密数据云端备份三重安全机制,在充分保证用户数据安全同时兼顾软件的整体执行效率。
①为了避免由于对联系人记录单独加密,造成在联系人信息查询、编辑以及通话等操作过程中频繁进行加密、解密运算,从而导致软件整体效率的降低,本文采用高效安全的新一代数据加密标准即128位AES加密算法[2],对数据库文件进行整体加密,确保了数据信息的整体安全性。
②联系人字段信息以明文形式存储在数据库文件中,通过设置密钥的形式,对于需要保护的联系人敏感信息和字段进行保护。密钥通过MD5加密算法保存在数据库中,这样只需进行少量的密钥验证就可以进行高频次的数据查询和编辑,从而保证了软件整体的执行效率。
③除了本机数据之外,用户还可以将联系人信息备份至云端[3],云端数据也是通过128位AES加密算法加密后进行保存。
3 系统业务流程(Operation flow)
基于以上设计思想,本系统的业务流程如图1所示。通讯录数据库文件通过128位AES加密算法进行加密,当要进行通讯录操作时对数据库进行解密,解密后即可对数据库进行常规的数据操作,从而避免了多次加密、解密操作对系统效率造成的影响。
如图1所示,用户在对通讯录信息进行检索过程中,对于非敏感信息,以明文形式显示。对于带密钥的敏感信息,将加密字段以密文形式显示。如果用户需要对敏感信息进行编辑,则需要进行密钥验证,密钥验证通过后,以明文形式进行编辑,编辑完成后重新对数据库文件进行AES加密更新。
4 软件系统架构(Software architecture)
4.1 系统功能模块
基于Android的手机安全通讯录系统整体功能模块如图2所示。系统采用用户熟悉的通讯录软件操作模式,其中在联系人模块中加入了对联系人信息的加密解密和带密文的联系人信息检索功能;在拨号模块中,用户可以实现带密文的电话拨打功能;在安全中心模块中,可以实现基于云端的联系人、短信备份、恢复功能。
4.2 系统技术架构
如图3所示,系统采用基于工厂模式的三层技术架构。数据访问层通过数据访问接口IDAL抽象出数据访问逻辑,并以DALFactory作为创建数据访问层对象的工厂模块。DAL作为IDAL数据访问接口的实现,完成对数据库的访问;BLL是业务逻辑层的核心,必须通过数据访问层的IDAL才能对数据库进行访问。这样使得业务逻辑层和数据访问层是松耦合的关系;表示层及UI用户层,负责用户与整个系统的交互,用户界面中所有的业务逻辑,都通过对BLL业务逻辑层的调用来实现。
5 系统实现(System implementation)
基于以上技术架构,系统实现效果如图4所示。从左至右依次对联系人整体加密后界面、对联系人电话单独加密后界面以及联系人批量操作界面。
6 结论(Conclusion)
通讯录是手机设备中最为重要的隐私信息之一,因而通讯录软件的安全性就显得格外重要。本文在分析当前主流的手机通讯录软件安全机制及其特点基础上,提出了基于数据库文件加密和对联系人信息设置密钥的Android手机安全通讯录软件设计思想,采用基于工厂模式的三层技术架构对软件进行设计并加以实现。通过测试,该软件对手机通讯录信息具有较强的保护作用。
参考文献(References)
[1] 李冠文.基于Android的通讯录软件的研究与实现[D].华南理工大学,2012.
[2] 张秀娟.基于AES加密算法的实现与应用[J].数字技术与应用,2011(12):132-133.
[3] 刘宁.手机通讯录云备份的安全处理[D].河北科技大学,2013.