陈刚 武静
河北金融学院信息管理与工程系河北保定071051
摘要:随着移动互联网和云计算的发展,手机通讯录的云同步功能成为各大硬件和软件厂商提供的必备功能之一;将通讯录数据同步到云端,可有效解决个人终端设备数据共享、设备损坏或丢失后的信息找回问题。云同步在给用户带来便利的同时,也存在隐私保护的问题,表现在:①可能存在不良厂商对用户信息的滥用;②云同步账号的安全直接决定个人数据的安全,账号的泄露也就意味着个人数据的泄露。通讯录作为个人最重要的数据之一,其隐私性和安全性同样重要。本文针对手机通讯录云同步的隐私保护进行了研究,提出多云端信息分布式存储的策略,即将通讯录信息切分成多块,每一块数据同步到不同的云端,这样每个云端只负责存储通讯录信息的一个子部分,信息的隐私性由多个云的安全共同承担,以提高隐私保护指数。本文基于Android 系统和国内主流云存储进行了原型开发,验证了多云端通讯录信息分布式存储的可行性。
教育期刊网 http://www.jyqkw.com
关键词 :多云端;云同步;隐私保护
1 研究背景
伴随着移动互联网、云计算的发展,智能手机为我们的工作、生活带来了极大的便利,一个显著特点就是各种基于云的APP 的应用,其中通讯录的云同步应用是各手机硬件厂商、互联网软件厂商必研发的应用之一。比如IOS 的iCloud、联想手机的云同步,以及腾讯、百度、360 等提供的云存储都涉及到通讯录的同步功能。该类云同步应用可解决以下两个问题:
①数据共享,通过数据的云端存储,可实现手机、平板电脑、PC等多个终端的信息同步。
②数据可靠性,传统数据的安全性和可靠性依赖于终端设备,一旦设备存储损坏或丢失,可能会造成数据的丢失,将数据存储到云端可使得数据可靠性脱离个人设备,与更安全可靠的云端绑定。
当数据存储到云端后,云端数据的安全性和隐私保护就成为了公众关注的焦点。一方面要保证云端数据不被非法窃取、修改及恶意删除;另一方面要防止云服务商及应用提供商在未经得用户同意的情况下窃取用户的隐私数据,进行数据分析、数据挖掘。
目前国内外针对云端数据的隐私保护有如下两种策略:
①数据加密,采用一些算法对数据进行加密,使数据以密文的方式存放在云端,某种程度上对隐私保护起到了一定作用。但是只要获取完整数据,数据加密算法的破解只是时间问题。同时,这一措施也引入了新问题,即如何对加密后的数据进行查询和匹配操作,此外对数据实施运算时也会增加运算成本。
②身份验证,身份认证是指计算机及网络系统确认操作者身份的过程。目前有基于动态口令的身份验证(如:短信密码验证)、USBKey 的认证(如:电子支付中的银盾)、智能IC 卡的认证、数字证书的认证、生物识别技术的认证等等。但是用户信息的维护也会带来很大的开销。
2 多云端分布式存储思想
通讯录云同步应用将数据存储于云端,排除终端设备的物理隐私性,数据的隐私保护直接依赖于云端数据是否被窃取以及窃取后被解密概率。云端数据被窃取通常有两种情况,一是个人账号的泄露,二是云服务厂商或应用开发者对数据的滥用;数据窃取后获得明文的概率依赖于数据存储加密算法的强度。假定云端数据被窃取的概率是Pc,数据被解密的概率是Pd,则整体通讯录被泄露的概率是。
而多云端分布式存储的思想在于把数据分别存储于多个云端,同步过程分为数据切片、多云端同步、数据汇总三个子过程。这种情况下,数据的隐私安全与各个云端安全相关,只有将所有云端数据破解之后,并且将切片和汇总算法都破解后才能得到原始数据。这样整体通讯录被泄露的概率
是其中,Pci、Pdi 是各个云端数据被窃取以及被破解的概率,是汇总分片数据算法被破解的概率。由公式可看出,采用多云端分布式存储的方式,可将信息隐私保护的风险分担到多个云上,极大提升数据隐私安全性。
3 基于Android 平台的实证系统
为验证多云端分布式存储思想,本文基于Android 系统开发了实证系统APP,将通讯录分片为三块,分别同步到百度云、七牛、阿里云。如下图所示
主要过程分为以下几步:
①读取手机中存放联系人的文件
手机上的联系人信息都存放在了contacts.db 表中,系统提供了ContentProvider 接口对这张表进行读写操作。
②对手机文件进行切分
利用ContentProvider 接口操作表Contacts.db 中的信息,从完整的联系人信息(姓名、号码、邮箱、所在公司等)中筛选出姓名和号码信息,同时对姓名和号码进行切分,分别得到A.vcf、B.vcf、C.vcf 三个子文件。三个子文件存储的内容分别为联系人姓名、手机号码前5位、剩余的手机号码信息。
③对数据进行加密
对数据的加密采用的是Base64 加密策略。这一方法改变了原始数据的编码方式。将原始数据按6bit 为单位进行切分,再以00 填充高位,得到新的8bit(1byte)代替原始数据。经过这一加密过程可以使数据以密文形式存在,进而防止云服务商对数据进行非法的数据分析和数据挖掘。
④把切分后的数据上传到不同的数据中心
首先完成百度云、七牛云存储开发者身份的认证,同时购买相应的云存储产品,获得开发所需的ACCESS_KEY 和SECRET_KEY;在云端创建bucket,用于存储相应的文件;下载云存储开发所需的sdk 以及帮助文档。把手机本地上的A.vcf、B.vcf、C.vcf 文件分别存放到百度云、七牛云存储中,再将手机本地上A.vcf、B.vcf、C.vcf 删除。
⑤恢复切分后的文件
首先从百度云、七牛、阿里云上下载各个切片文件,得到A.vcf、B.vcf、C.vcf。然后对文件进行解密同时按既定规则进行组合,得到完整的联系人文件result.vcf。程序控制自动删除临时文件A.vcf、B.vcf、C.vcf,用户手动运行联系人文件,即得到了相应的联系人数据。
4 未来的改进
当前本文多云端分布式存储思想未涉及到冗余存储,数据可靠性不够强。本文只考虑到了云端数据是否被窃取的情况,为提升通讯录信息隐私保护而设计了多云端分布式存储,但将数据分布到多云端时,数据可靠性也被稀释到了每个云端,当某个云端的数据被损坏或被恶意删除时,整个数据就得不到恢复。为提升可靠性,需将分片后的数据进行冗余存储,具体可参照RAID 实现方式。
5 总结
本文针对手机通讯录云同步的隐私保护问题,提出采用多云端分布式存储的策略,可有效提升用户数据的隐私安全。
教育期刊网 http://www.jyqkw.com
参考文献:
[1]李程远,范红,李海涛,韩煜.云平台信息安全整体保护技术研究[J].信息安全与技术,2011(09).
[2]冯登国,张敏,张妍,徐震.云计算安全研究[J].软件学报,2011(01).
[3]徐小龙,周静岚,杨庚.一种基于数据分割与分级的云存储数据隐私保护机制[J].计算机科学,2013(02):98-102.
[4]李晖,孙文海,李凤华,王博洋.公共云存储服务数据安全及隐私保护技术综述[J].计算机研究与发展,2014(07):1397-1409.
作者简介:陈刚,1984 年生,硕士研究生,2013 年于河北金融学院任教,研究方向为操作系统、云计算、移动计算;武静,1992 年生,2015 年毕业于河北金融学院,考入东北大学信息科学与工程学院应用所,研究方向为云计算的性能优化。