一种弱网络连接区域的IoT-based云主机物理位置验证方法与流程

文档序号:20039391发布日期:2020-02-28 11:43阅读:190来源:国知局
一种弱网络连接区域的IoT-based云主机物理位置验证方法与流程

本发明属于云服务安全属性验证技术领域,尤其涉及一种对弱网络连接区域的iot-based(iot即internetofthings,物联网)云服务中云主机物理位置属性验证的方法。



背景技术:

云计算是近几年迅速发展的一种新的计算和存储资源租赁服务模式,伴随着云服务(云计算环境的最终表现)的日益成熟,验证云服务中云主机或敏感数据的位置成为了非常迫切的问题。一方面,越来越多的服务出于性能需求,需要清楚的知道所租用的云主机所在的物理位置,如基于位置的内容分发、在线视频、数据容灾、在线投票等;另一方面,用户清楚地知道所租用的云主机的物理位置,是云服务提供商通过服务水平协议(servicelevelagreement,简称sla)提供给用户的一项权益;此外,由于不同国家、地区在数据隐私保护、信息管理等方面要求的差异,需要根据位置来限制访问的应用程序以评估或规避由此带来的法律风险和影响等等,例如2018年2月欧盟出台的《通用数据保护条例》(generaldataprotectionregulation,简称gdpr)规定违反者最高被处以2000万欧元的罚款,或上一会计年度年收入的4%。因此,验证云主机的物理位置成为一个用户关注的日益紧迫的问题。

目前,云服务提供商在sla中提供了不同粒度的地理区域选项,如亚马逊的ec2服务,帮助客户实现各种目标。由于云服务具有不透明性,即用户租用虚拟机(virtualmachine,简称vm)后,只需在云服务提供商基础架构上部署vm,而无需维护硬件设施,使得云服务提供商对用户所租云主机承诺的物理位置很难令人信服。实际上出于降低经济成本等原因,一方面,云服务提供商或其员工可能会尝试违反sla,将客户租用的vm部署到更便宜的地方;另一方面,云服务提供商有能力实现快速的迁移计算和存储资源,换句话说,云服务提供商具有违反sla的规定将用户租用的云主机部署到远程数据中心的能力和动机。因此,即使云服务提供商在sla中提供了物理位置承诺,用户也需要一种技术能够验证所租用的云主机的物理位置是否满足sla的约束。

与传统的物理主机相比,云主机具有一些独特的性质:1)快速迁移计算和存储资源,如虚拟机迁移(virtualmachinemigration);2)不同数据中心的云主机以相同ip地址发送请求的数据包,如弹性ip(elasticip)等。因此,常见的以ip地址作为输入来确定物理主机的方法(如whois,dnslocrecords,traceroute等)并不适用于云主机。通过端到端的时延测量可以用于确定云主机的位置,但是这类方法通常需要网络时延与距离呈较强的线性关系。而这种强线性关系通常仅适用于富网络连接区域,并不适用于弱网络连接区域或者说在弱网络连接区域的验证效果并不理想。因此验证弱网络连接区域的云主机位置是一项非常具有挑战性的工作。

为了本专利申请描述的方便,下面将介绍一些与本专利申请有关的主机位置验证特征。

基于时延的主机验证:

基于时延的主机验证方法主要包括以下几个步骤:1)获取一组位置已知且分布广泛的能够响应网络请求的地标主机;2)测量地标与目标主机之间的网络时延;3)采用某种数学模型将时延转换为物理距离;4)采用不同的几何方法(如三角定位)将物理距离转换为位置约束,并以此来估计出目标主机的位置。

时延-距离相关系数:

相关系数是研究变量之间线性相关程度的量,借助相关系数可以确定网络时延与物理距离是否呈线性关系,依次确定目标区域的网络是富网络连接还是弱网络连接。具体方法是:假设vdel是时延的方差,vdis是距离的方差,cov(del,dis)是时延和距离之间的协方差,那么时延和距离的相关系数corr(del,dis)可以通过以下公式计算得到:

corr(del,dis)的绝对值范围是[0,1],根据相关文献研究得知,如果corr(del,dis)≥0.7,那么该区域是富网络连接;如果corr(del,dis)<0.7,那么该区域属于连接适中或弱网络连接区域。目前,只有欧洲、北美等少数国家属于富网络连接区域,世界绝大部分国家都属于弱连接或连接适中网络区域,如中国。



技术实现要素:

本发明针对弱网络连接区域中云主机位置验证的安全问题,提出了一种弱网络连接区域的iot-based云主机物理位置验证方法,解决了时延与距离不呈强线性关系和由于地标主机不可靠及分布不均匀导致定位准确度低的问题。本发明采用挑战-响应机制,实现云端对主机物理位置的验证,本发明以软件组件的形式呈现,直接部署在云主机上,通过提取、验证、清理步骤,将广泛分布的ipcam高概率的作为可靠地标主机;采用基于投票的最短-最近方法确定目标主机的位置;通过分层定位的方法,有效降低了网络测量及验证开销;通过时延阈值的方法,能够防御敌手的时延增加攻击、缩短攻击及常见的ip中间件攻击。

为解决上述技术问题,本发明采用的技术方案如下:

一种弱网络连接区域的iot-based云主机物理位置验证方法,该方法可应用于软件组件并部署在云主机中提供云主机物理位置验证的服务,具体来说,本方法采用的技术步骤如下:

1)预处理iot地标步骤,通过收集广泛分布的iot设备作为地标,并通过提取、验证、清理过程,高概率地获取可靠地标;

2)生成随机地标集合步骤,通过分层测量的方法,有效降低测量开销,该步骤也可以防止云服务商针对特定主机的时延攻击;

3)获取指定地标与待测主机的最小时延步骤,每个地标与待测主机进行多次网络测量,其中最小的时延作为该地标与目标主机的时延,降低网络不确定性的干扰;

4)目标云主机的物理位置验证,采用基于投票的最短-最近方法实现云主机的位置验证。

进一步地,在步骤1)中,用户验证云主机的物理位置依靠基于时延的主机位置验证方法,该类方法需要分布广泛的地标主机,并且目标区域附近的地标主机越多、准确率越高。然而直接部署地标设备,则部署费用高昂,此外,现有的分布式站点分布不均匀,不能保证每个城市都有,例如planetlab。理想的方法是采用一种现有的设备来进行时延测量,本发明以ipcam设备作为地标主机,并通过以下操作:检索关键词收集大量的iot设备信息,经过提取、验证、清理三个步骤高概率获取可靠地标主机。

进一步地,在步骤2)中,海量设备同时与目标云主机进行网络测量,意味着巨大的通信开销,为了降低测量开销,本方案采用分层的方法逐步确定云主机的位置,首先确定云主机的区域位置,然后确定云主机的城市位置。验证每层的位置时,均随机的选择用于确定该层位置的地标,有效的防止云服务提供商操纵时延攻击,进而影响云主机的位置验证效率和结果。

进一步地,在步骤3)中,本发明中采用http/get测量地标与目标云主机之间的网络时延。由于网络环境的不确定性(例如,网络拥塞或网络路径修改),并不是每次来自同一地标与目标主机的测量时延都是有效的。本发明采用多次测量(例如15次)的最小值作为该地标与目标主机的时延。为了防止来自缓存、cache的影响,每次用于测量的url都是通过ip、端口和一个随机生成且不存在的图片组合而成。

进一步地,在步骤4)中,本发明提出基于投票的最短-最近方法实现在弱连接区域的云主机位置验证。具体来讲,选用一组在目标主机附近的地标,通过具有最短时延的几个地标的位置确定目标主机的位置。本发明中的方法不依赖于时延和距离之间是否呈线性关系,因此可以在弱连接区域实现云主机位置的验证。

一种弱网络连接区域的iot-based云主机物理位置验证系统,包括:

iot-based地标模块,用于收集分布的iot设备作为地标,对地标进行提取、验证及清理,获取可靠地标;

生成随机地标集模块,用于从可靠地标中随机选择确定云主机的区域位置和城市位置的地标,生成随机地标集合;

获取最小时延模块,用于对集合中每个地标与云主机之间的网络时延进行多次测量,以测到的最小值作为地标与云主机的时延;

云主机位置验证模块,用于选择时延最短的前若干个地标,对这若干个地标的位置进行统计,以所含地标最多的位置确定为云主机的物理位置;通过比较云主机的上述确定的物理位置与云服务商于sla中所承诺的位置是否一致,来实现对云主机物理位置的验证。

进一步地,本系统可以软件组件形式直接部署在云主机上,可基于windows操作系统或linux操作系统。

与现有技术相比,本发明的有益效果为:

本发明提出了基于投票的最短-最近方法可以在弱网络连接区域进行云主机的物理位置验证;通过将分布广泛的iot设备(如ipcam)变成可靠地标主机,极大地降低了部署开销;本发明采用分层定位的方法,有效地降低了云主机物理位置验证过程中的测量开销;同时,本发明可以有效地防御时延增加攻击、时延缩短攻击和ip中间件攻击。最终,本发明极大地提高了弱连接区域中的云主机物理位置验证的准确度和实用性。

附图说明

图1是云主机物理位置验证过程示意图。

图2是云主机物理位置验证框架图。

图3是基于投票的最短-最近方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图对本发明作进一步详细说明。

本发明所涉及的云主机物理位置验证方法的总体过程如图1所示。客户端向云端发起验证请求(图1中的步骤1),部署在云端的验证组件通过测量与随机地标的时延(图1中步骤2、3),执行位置验证,并将验证结果返回给用户(图1中步骤5)。

图2是云主机物理位置验证方法的框架流程图。本发明所涉及四个主要步骤,它们分别对应于四个模块:iot-based地标模块、生成随机地标集模块、获取最小时延模块和云主机位置验证模块。

本实施例中选择iot-based地标主要从以下几点考虑:①分布广泛、基本保证每个城市均有覆盖;②稳定运行且保持位置不频繁变化,至少验证环节高概率保证位置不变;③能够以http/get的方式且通过公共互联网访问。本实施例以ipcam作为地标,并通过以下三个步骤将ipcam高概率地作为可靠地标:

1)提取iot-based地标环节,通过设置关键词,例如品牌、制造厂商、型号等,收集粗粒度区域的ipcam;

2)验证信息环节,收集的ipcam信息通过多源数据库,进行验证,以此提高ipcam的准确性。此外,在验证环节,采用投票的机制,进一步提高结果的准确性;

3)清理数据环节,为了防止云服务提供商设置端口黑名单和ip黑名单,选择开放80系列端口的ipcam作为地标。另外,选择通过公共互联网可以访问的ipcam作为地标,每次参与测量的地标都是随机选择的,进一步降低云服务商存在恶意行为的可能性。

实例中的生成随机地标集模块,本方案采用两级位置验证的方法,即区域级位置验证和城市级位置验证。在区域级位置验证中,将大的国家级管辖范围(如中国)划分为多个区域(如省、直辖市、自治区),在每个区域中随机选择一定数量的ipcam组成区域级地标集合。在城市级位置验证中,在待测区域中的每个城市选择一定数量的ipcam组成城市级地标集合。需要指出的是,每个层级的地标数量越多,通常验证的准确性越高,但同时也会增加网络测量的通信开销。本实施例中,在中国实施云主机位置验证,区域级位置验证中,在每个区域平均选择13个地标,城市级位置验证中,在每个城市平均选择12个地标。

实施例中的获取最小时延模是通过采用多次测量获取地标与目标主机之间时延,并计算出该组时延的最小值作为有效时延。由于网络连接情况的不确定性,并非每次测量的时延可以作为该地标与目标主机之间的有效时延。为此,通过多次(例如15次)测量一个地标与目标主机之间的时延,将其最小值作为该地标与目标主机之间的时延。然而常见的icmp协议受限于路由器、防火墙的设置,导致无法正确响应网络请求。因此采用http/get的方式完成主机之间的时延测量。此外,短时间内两台主机之间的多次网络请求容易受到cache、缓存等影响,为此将每次请求的url设置为ip地址、端口号和一个随机生成的不存在的图片组合而成。

实施例中的云主机位置验证模块,采用基于投票的最短-最近方法来完成弱连接区域中的云主机位置验证。投票代表了目标主机在某个区域的权重,具体来说,选择一组(vn个)地标而不是选择一个,具有最短时延的地标来确定目标主机的位置。其中vn个地标的时延需要在一定的阈值范围内,即最大时延tmax和最小时延tmin,最终得票数最多的区域/城市作为待测云主机的位置,并与sla中的位置比较,进而确定云服务提供商是否满足其sla中的物理位置约定。其具体的过程如下:

1)生成地标集合并完成集合中的每个地标与待测主机之间的网络测量;

2)获取每个地标与待测主机之间的最小时延;

3)找出vn个与待测主机之间的最小时延(mindelay),其中tmin≤mindelay≤tmax;

4)统计这vn个地标所在的位置并进行投票,位置含有的地标数为所得票数,计算出得票数最多的位置,如果位置不唯一,则考虑他们的并集;

5)将计算的位置与云服务商sla中承诺的位置比较,如果一致,则说明云服务商sla中承诺的位置为云主机的真实位置信息,否则为虚假位置信息,完成验证。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者同等替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1