APP下载

移动身份认证中的隐私保护方法的研究

2018-12-08魏建琴李平珍

网络安全技术与应用 2018年12期
关键词:手机号码服务提供商短信

◆郑 芳 魏建琴 李平珍



移动身份认证中的隐私保护方法的研究

◆郑 芳 魏建琴 李平珍

(山西财经大学信息管理学院 山西 030006)

为了方便用户使用,几乎所有的移动应用程序都提供了一种使用手机短信验证码进行身份认证的一次一密功能,但是作为用户身份之一的手机号码,可能被不可信服务提供商泄露,也可能由于多服务提供商的数据共享而遭到数据挖掘的攻击,从而泄露了用户的隐私轨迹,如用户去过的商店、KTV、医院等信息。本文创新性地将可信第三方服务器和数据分割技术引入移动认证隐私保护技术中,通过引入可信第三方服务器,将手机号码从服务提供商服务器分离出来,存储到可信第三方服务器,从而保证其不被泄露以保护用户隐私,并详细阐述了本方案的设计过程,以及实现本方案所遇到的问题的技术解决方法,最后从理论上分析了本方案的隐私保护性能,通过实验演示了其时间效率,证明其具有可行性。

移动认证;隐私保护;可信第三方服务器;短信验证;

0 引言

随着移动互联网技术的飞速发展、智能手机的广泛普及和处理速度的不断提高,许多移动应用程序被开发出来,如酒店预订APP、看病预约APP、移动办公APP、机票购买APP等,这些应用为我们的生活提供了很多服务,为了方便用户快速使用这些APP,除了使用传统的基于用户名和密码的登录注册方式外,还提供了基于手机短信验证码的一次一密的快速登录注册功能,但是因为手机号码是用户在现实生活中的真实身份之一,和姓名、住址等一样,代表着用户的真实信息,如果攻击者将用户的网络信息和真实身份关联起来,在结合一些其它信息,如某个人认识这个手机号码的主任,那么个人将没有隐私可言。

大部分移动应用程序使用和用户身份相关的信息主要是手机号码,因为它们都提供了基于短消息的身份认证技术,主要涉及的场景包括注册、登录、密码找回等,还有的移动应用程序如电商应用程序要求知道用户的住址,但本文只研究适合于绝大部分应用程序的手机号码的隐私保护问题,其它的身份信息如住址等、姓名等的保护可以借鉴本文的方法。

0.1 隐私攻击模型

通过手机短信验证码进行登录注册,会将手机号码保留到服务提供商的服务器上,这种情况可能导致用户的隐私泄露,主要表现为:

(1)不可信服务提供商销售用户隐私信息[1];

(2)不可信服务提供商恶意收集用户信息[2][3];(3)基于数据挖掘的隐私泄露[4][5]进行数据挖掘;(4)服务提供商的服务器被攻击[6][7][8][9]。

0.2 研究背景

文献[10]论述了可信第三方平台在电子商务协议中的架构及其实现,文献[11]提出了利用可信第三方平台对用户提供精准推荐,文献[12]提出了一种一次一密的分组加密方案,文献[13]分析了一次一密技术的安全性,文献[14]提出了一种将海量数据分割成多个独立小数据,以加快数据挖掘速度的算法,文献[15]提出一种基于图像内容的新的数据分割方法,较大程度地改善了视频流的传输质量,文献[16]提出一种用于实现用户与云端之间双向身份认证的方案,用来解决目前云环境下用户与云端之间进行身份认证时所存在的安全问题和不足,文献[17]提出了一种更安全的测量设备无关的量子身份认证协议,文献[18]提出了一种可证安全的高效无证书两方认证密钥协商协议。文献[10][11]是可信第三方平台在电子商务和推荐技术中的应用,对本文具有借鉴作用;目前存在的身份认证技术的研究,多是像文献[16][17][18]所提到的,主要集中在利用公钥证书、量子技术进行身份认证或者是关于无证书的身份认证的研究,而基于短信验证码的移动身份认证的安全性的研究却不多,这方面已有的研究也主要集中在基于短信验证码在移动支付等信息系统中的应用[19][20],文献[13]是对一次一密从网络安全的角度分析其是否容易被攻击,但并没有研究其带来的隐私泄露问题;文献[14][15]提出的数据分割技术主要应用在图像传输和海量数据挖掘中,而这种技术在安全中的应用的研究却不多,且分割后的数据还是存储在一个服务器上,并没有涉及到多个服务器。

0.3 本文的创新

基于以上对隐私攻击的分析发现,代表用户身份的手机号码是用户隐私泄露的关键,如果没有现实生活中的身份信息,即使用户的网上活动信息被泄露,由于无法和现实生活中的个人相结合,也不会对个人用户造成太大威胁。而大部分移动应用程序采集和用户身份相关的信息主要是手机号码,所以我们提出了一种方案来保护手机号码,此方案的主要思想是引入可信第三方服务器和数据分割的思想,将原来存储在服务提供商服务器上的数据分成两部分,一部分是手机号码,另一部分是其它和身份无关的数据,然后将手机号码从服务提供商的服务器上分离出来,存储在第三方服务器上,从而保护由手机号码引起的用户隐私信息的泄露。为了实现这个方案,我们提出了路径寻找法、会话号和虚拟身份法、文件索引法。在以下的内容中,我们将详细探讨此方案的体系结构和实现算法。

0.4 本文的组织结构

本文第二部分提出了本方案的体系结构和工作过程,同时提出了实现本方案遇到的问题;第三部分就第二部分中提出的问题分别进行解决;第四部分对本方案从理论上进行了安全性分析;第五部分通过实验分析了时间效率,证明了其可行性。

1 本方案的体系结构

1.1 传统的短信验证过程

图1为传统短信验证示例图,其工作流程(流程1)为:

图1 传统的短信验证示意图

(1)移动客户端输入手机号码,向服务提供商发起短信验证码请求;

(2)服务提供商生成验证码,将短信验证码和手机号码一起发送给短信平台;

(3)短信平台将验证码发往手机端。

(4)手机端将验证码发往服务提供商;

(5)服务提供商将其与自己生成的验证码进行比较,如果相同,则验证通过。

1.2 引入可信第三方服务器

为了防止服务提供商泄露用户的隐私信息,本文在移动客户端和服务提供商之间引入了可信第三方服务器,其架构图如图2所示,其工作流程(流程2)为:

(1)移动客户端输入手机号码,发起获取短信验证码的请求,将请求提交给可信第三方服务器,对应图2中的第①步;

(2)可信第三方服务器过滤掉手机号码,将请求发送给服务提供商,对应图2中的第②步;

(3)服务提供商生成短信验证码,发送给可信第三方服务器,对应图2中的第③步;

(4)可信第三方服务器将短信验证码发给短信平台,对应图2中的第④步;

图2 引入新方案后的工作流程示意图

(5)跳转到图1中的③④⑤步。

和流程1比较,流程2发生了很多变化,由此也带来了新的问题,主要表现为:

问题1:如何寻找路径。在新的方案中,传输路径发生了变化,流程1中,移动客户端直接将请求发送给服务提供商,而流程2中,传输路线变为:移动客户端→可信第三方服务器→服务提供商→可信第三方服务器→短信平台,带来的问题是:如何寻找路径;

问题2:服务提供商不知道是哪个用户发来的请求。通过手机号码进行登录注册的用户,由于可信第三方服务器过滤掉了手机号码,导致服务提供商无法识别用户的身份;

问题3:大量服务提供商和少量可信第三方服务器的矛盾。一个可信第三方服务器要为大量的服务提供商提供身份信息过滤服务,第三方服务器如何识别请求来自于哪个服务提供商。

问题4:访问授权。由于短信平台的服务是服务提供商购买的,不是可信第三方购买,但本方案中,是可信第三方平台将短信验证码发往短信平台,而不是服务提供商,多以需要服务提供商将访问短信平台的权限授予短信平台。

在以下的章节中,将针对以上问题分别探讨解决方法。

2 问题的解决方法

2.1 URL路径寻找

为了解决问题1,我们引入flag标记来标识路径的次序,请求从移动客户端发起,设此时flag的初始值为0,之后每传输到下一个接收端,flag的值自动加1,因为短信平台通过手机号码识别客户端,不需要使用URL地址,所以flag的值指示到短信平台结束。其示意图如图3所示。

图3 URL路线寻找示意图

我们将图3中的内容用一个XML进行存储,XML文件的内容如下:

这个XML文件被被存储在图3中的每个端点上,其中url位于HTTP数据包的包头,flag位于HTTP数据体中,每传输到一个端点,flag自动加1,然后,根据flag的值在文件中查找url的值,将其作为下一站的目标URL,其算法为:

算法:GetTargetURL(flag)

输入:flag;

输出:下一个节点的URL地:tUrl;

(1)Begin:

(2)flag++;

(3)tUrl ←根据flag在XML文件中查找url;

(4)return tUrl;

(5)End

2.2 会话号Session Number和网络虚拟身份标识符UserId

针对问题2,我们引入了会话号Session Number和网络虚拟身份标识符UserId。

可信第三方服务器过滤掉代表用户身份信息的电话号码后,失去了标识用户身份的标识,当服务提供商收到请求包后,无法判断出请求来自哪个用户。为了解决这个问题,我们引入了网络虚拟身份标识符UserId,以虚拟身份来区分服务提供商服务器上的每个用户,UserId在用户注册时由用户填写。

但此时又会出现一个问题,如果用户是第一次访问服务提供商,即未注册就直接用手机号码进行登录,此时用户还没有UserId。针对这个问题,我们引入了会话号Session Number,以此标识用户本次会话,Session Number唯一。

此时,问题2基本有了解决方案,根据图2所示,主要改进的地方涉及到图2中的第①②③④步,以下小节为改进内容。

2.2.1 第①步中,可信第三方服务器的处理过程

可信第三方服务器启动后,首先初始化一张表T,其结构为:

T{Telephone Number, UserId, Session Number}

用来存储会话记录,当收到移动客户端发来的请求(其请求包的内容为{Telepphone Number, flag})后,可信第三方服务器的处理过程为(这里忽略根据flag查找URL路径的过程,此过程在3.1中有详细描述):

(1)获取请求包中Telephone Number的值;

(2)在表中通过Telephone Number查找UserId,这里有两种情况,如果用户已经访问过(类似的场景如登录、密码找回等),则得到UserId的值;如果用户第一次访问(类似的场景如注册),则设置UserId的值为null,系统根据算法生成一个Session Number,用它代表本次会话,然后将记录{Telephone Number, null, Session Number}插入表中;

(3)创建一个新的HTTP包,包体数据结构为{UserId, Session Number},Telephone Number被保存在了第三方服务器上,而没有发送给服务提供商;

(4)将生成的HTTP包发送给服务提供商,即进入图2中的第②步。

2.2.2 第②步中,服务器提供商的处理过程

服务器提供商的服务器启动后,首先初始化一张用户表U,主要数据结构为:

U{UserId, password};

(1)获取收到的HTTP包中的数据:UserId和Session Number的值;

(2)如果包中UserId的值为空,表示用户第一次访问,为其生成一个系统id,将其值赋给UserId;

(3)系统根据算法生成一个短信验证码:Message Authenti cation Code;

(4)创建一个新的HTTP包,包体数据结构为{UserId, Session Number, Message Authentication Code};

(5)将生成的HTTP包发回给服务提供商,即进入图2中的第③步。

2.2.3 第③步中,可信第三方服务器的处理过程

(1)获取收到的HTTP包中的数据;UserId、Session Number和Message Autenticaiton Code的值;

(2)用UserId在表T中查找Telephon Number,如果结果为空,表示这个UserId是系统生成的,之前没有记录,然后用Session Number在表中查找Telephone Number并获取其值;

(3)生成一个新的HTTP包,其包体的数据结构为:{Telephone Number, Message Authentication Code};

(4)将其发送给短信平台,进入图2中的第④步。

2.3 少量可信服务器和大量服务提供商

如何让一个可信服务器识别大量的服务提供商,针对问题3,我们在第三方可信服务器上引入了一张索引表I,其结构为:

I{Domain Name, Database Name, Path}

其中Domain Name为域名,Database Name为数据库名,Path为数据库的路径,其示意图如图4所示,其处理流程为:

(1)获取请求包中的URL地址;

(2)将URL与索引表I中的Domain Name相比较,如果URL中包含Domain Name,则找到其对应的Path的值;

(3)根据Path的值连接对应的数据库。

以下面的例子为例,来说明其实现过程:

(1)假设从请求包中获取的URL为:HTTP://www.A.com/login.jsp ;

(2)在索引表I中查找URL所包含的Domain Name,然后得到对应的Path的值为:HTTP://www.A.com;

(3)以Path作为连接地址,连接数据库。

3.4 访问授权

在本方案中, 是TTPS将Message Authentication Code 发送给短信平台,而不是服务提供商将其发送给短信平台,购买短信平台服务的是短信平台,而不是TTPS,所以需要服务提供商将访问短信平台的权限授予TTPS,本文提出了一种将服务提供商访问短信平台的权限授予TTPS,其方法为:服务提供商自动生成一个随机数S,然后用服务提供商的私钥对其进行签名,短信平台用服务提供商的公钥进行验证。算法为:

输出:result: 授权访问成功与否的标志;

(1)Begin:

(7)短信平台用服务提供商的公钥对签名进行验证:

(8)End

3 性能分析

3.1 隐私性能分析

3.1.1 防止身份信息的泄露

因为手机号码存储在可信第三方平台,而不是服务提供商处,所以,攻击者即使获得了用户活动信息,也无法和真实信息联系,故无法和现实生活中的人有联系,隐私不会被泄露。

3.1.2 阻止了推断攻击

3.1.3 可信服务商被攻击

假设 可信第三方平台被攻击,Jack得到了Alice的信息{Telephone Number, UserId}。

Jack用Alice的Telephone Number+短信验证码进行登录,由于Jack没有Alice的手机,所以得不到短信验证码,所以登录失败;同理,如果Jack用Alice的UserId+密码进行登录,由于Jack没有密码,所以登录失败。

3.1.4 可信第三方和服务提供商同时被攻击

系统整体隐私泄露值为:

3.2 时间效率评估

我们在实验环境Intel® Core™ i5-825U CPU @ 1.60GHz,8.00GB RAM,Win10,MySQL(线程池中开启20个线程)上模拟了本方案的通信时间,收集到的数据所示,其中n表示数据库中表中的记录数,从表中可以看到我们采集了n=1000,5000,10000,50000,100000,500000的时候,处理每一次请求所花费的时间,其单位为毫秒(ms)。本次实验我们重复了10次,x表示重复的次数。

图4 在不同n的取值下,请求响应时间图

从图中第一行记录可以观察到,其值比后边九条记录都大,其差值大概是400ms,这个值是每次系统初始化时,连接数据库的时间。

根据图4,对每一个n取其平均时间,结果如图5所示,因为n=1000,5000的时间太小,所以只绘了n=10000,50000,100000,500000的时间值。

图5 n取不同值时的平均请求响应时间

从图中可以看出,本方案的最大处理时间大概是7000ms,即7s,而一个短信验证码的等待时间一般是1分钟,即60s,所以本方案在工程应用中是可行的。

4 总结

本文通过引入可信第三方服务器阻止了基于手机短信的移动身份认证中的隐私泄露,通过安全性的理论分析和时间延迟性的实验演示,证明本方案在理论上和工程上都具有可行性。

[1]刘向宇,王斌,杨晓春.社会网络数据发布隐私保护技术综述[J].软件学报,2014.

[2]牟凡. 中美电子商务消费者信息隐私权保护制度比较研究[D].南京大学,2012.

[3]郭磊,胡晓勤,江天宇,等. 基于行为特征识别的网络诈骗嫌疑人追踪系统[J]. 信息网络安全,2014.

[4]高强,张凤荔,王瑞锦,周帆.轨迹大数据:数据处理关键技术研究综述[J].软件学报,2017.

[5]王丹,顾明昌,赵文兵.跨站脚本漏洞渗透测试技术[J].哈尔滨工程大学学报,2017.

[6]陈小兵. Linux操作系统root账号密码获取防范技术研究[J]. 信息网络安全,2014.

[7]张慧琳,邹维,韩心慧.网页木马机理与防御技术[J].软件学报,2013.

[8]王学强,雷灵光,王跃武. 移动互联网安全威胁研究[J]. 信息网络安全,2014.

[9]李冰. 国内SNS社交网站隐私安全问题及对策研究[D].陕西师范大学,2012.

[10]卿斯汉. 电子商务协议中的可信第三方角色[J]. 软件学报, 2003.

[11]王福, 康健. 基于可信第三方的图书情报机构个性化信息推送研究[J]. 图书情报工作, 2015.

[12]张玉安, 冯登国. 一种实用的仿一次一密分组加密方案[J]. 北京邮电大学学报, 2005.

[13]王勇. 一次一密体制的安全性分析与改进[A]. 中国软件工程大会CCSE专家理事会.第四届中国软件工程大会论文集[C].中国软件工程大会CCSE专家理事会:,2007.

[14]覃政仁,吴渝,王国胤.一种基于RoughSet的海量数据分割算法[J].模式识别与人工智能,2006.

[15]杜建超,吴成柯,杨亚东,肖嵩.一种基于图像内容的数据分割方法[J].西安电子科技大学学报,2006.

[16]王中华,韩臻,刘吉强,张大伟,常亮.云环境下基于PTPM和无证书公钥的身份认证方案[J].软件学报,2016.

[17]董颖娣,彭进业,张晓博,张振龙.基于测量设备无关协议的量子身份认证方案[J].通信学报,2016.

[18]周彦伟,杨波,张文政.一种改进的无证书两方认证密钥协商协议[J].计算机学报,2017.

[19]王红新,杨德礼,姜楠,马慧.一种终端认证简化的在线移动支付模式与协议[J].计算机研究与发展,2013.

[20]冯锡炜.短消息应用系统的技术和实现[J].抚顺石油学院学报,2003.

山西财经大学校级青年基金项目“社交网络隐私在云计算平台下的研究”(QN2015014);国家自然科学基金“基于在线多源冲突数据融合分类方法的信用评级研究”(71701116);山西省教育科学“十三五”规划课题“以计算思维为导向的经管类专业Python课程教学研究与实践”(GH-16045),面向综合能力培养的财经类高校Python课程教学研究与实践(2017216)。

猜你喜欢

手机号码服务提供商短信
“手机号码”继承公证的可行性及路径
论品牌出海服务型跨境电商运营模式
张掖市手机号码支付业务推广情况调查
解密!手机号码里的知识
道歉短信
最新调查:约三成云服务提供商正迅速改变其业务模式
代发短信
网络非中立下内容提供商与服务提供商合作策略研究
昵称
“八一”节日短信之一