通信网络中安全距离计算的方法和设备的制作方法

文档序号:7667205阅读:225来源:国知局
专利名称:通信网络中安全距离计算的方法和设备的制作方法
技术领域
本发明总体上涉及通信网络,具体涉及通信网络中的安全距离计算。
背景技术
本部分旨在向读者介绍可能与以下说明和/或要求保护的本发明 的各个方面有关的各方面技术。相信本论述将有助于为读者提供使本 发明的各个方面更加易于理解的背景知识。因此,应理解,应该以此 为目的来阅读这些论述,而不应将这些陈述看作对现有技术的承认。
对于通信网络(如计算机网络)中的设备来说,通常想要知道到 另一设备的"距离"以确定另一个设备是否位于其附近的情况是十分 普遍的。
测量距离的一种方法是采用往返时间(RTT)度量。设备发送请求 另一设备直接响应的消息,并启动直到从另一设备收到响应才停止运 行的定时器。此时间被称为回程时间。通常,对多次测量取平均以计 算RTT。
W0 99/059304介绍了另一种通过使用消息中的生存时间(TTL)来 测量距离的方法。发送方在消息中包括初始TTL值。每个转发此消息的 结点(也称为路由器)都将当前TTL值递减。当TTL值减至零时,就不 再转发此消息。虽然这种方法无法直接测量以"跳转"次数或"转发" 次数而计数的距离,但发送方可以请求接收方返回接收到消息中的TTL 值。自然地,如果接收方距离太远, 一般说来将根本不能接收到消息。 典型的初始TTL值(通常被称为"TTL上限")是3。
TTL方法的问题是TTL值是不安全的可以容易地增大TTL值,使消 息比计划距离传送得更远。此外,接收方可能简单地响应接收到的消
息的TTL值为3、 2、 l或0。此时,发送方将认为接收方位于所需距离之 内。
此问题的基本解决方法是对消息中的TTL值进行密码签名,以使其 不易被改为更大的值。然而,这要求网络中所有(或者,至少是大部 分)结点都支持对TTL值进行签名,而这并不总是可行的。
本发明尝试通过提供一种利用生存时间进行距离计算以增强计算 安全性的方法,补救现有技术中至少一些与生存时间有关的问题。

发明内容
在第一方面,本发明是一种在通信网络中计算距离的方法。第一 设备选择不可预测生存时间(TTL)值(TTL—S),并向第二设备发送具 有所选TTL值(TTL一S)的消息。接着,第一设备从第二设备接收到消 息,该消息包括由第二设备接收到的消息的TTL值(TTL—R)。随后,第 一设备通过比较所选TTL值(TTL_S)和从第二设备接收到的TTL值 (TTL一R),计算到第二设备的距离。
在优选实施例中,通过从所选TTL值(TTL_S)中减去从第二设备 接收到的TTL值(TTL—R)来计算距离。
在另一优选实施例中,对从第二个设备接收到的消息予以保护。 有利的是,第一设备建立同第二设备的安全认证通道,并通过在安全 认证通道上进行接收对受保护的消息予以保护。
在另一优选实施例中,从第二设备接收到的消息还包括所接收消 息的初始TTL值(TTL,—S)。第一设备读取所接收消息的TTL值(TTL二R), 并将所接收消息的初始TTL值(TTL,—S)与所接收消息的TTL值(TTL,—R) 进行比较。
在又一优选实施例中,第一设备测量向第二设备发送消息和从第 二设备收到消息之间的往返时间(RTT)。第一设备还从第二设备接收 与第二设备以及至少由第二设备接收到的消息的TTL值(TTL一R)以密 码方式关联的认证数据,并验证此认证数据。
在第二方面,本发明是一种在通信网络中计算距离的方法。第二 设备从第一设备接收具有生存时间(TTL)值(TTL_R)的第一消息、
以及包括基于第一消息初始TTL值(TTL—S)的值的第二消息。然后, 第二设备通过比较第二消息的值和第一消息的TTL值(TTL一R)来计算 到第一设备的距离。
在优选实施例中,对第二消息予以保护。
在第三方面,本发明是一种适于在通信网络中计算到第二设备距 离的第一设备。该第一设备包括适于选择不可预测生存时间值 (TTL_S)的处理器;以及适于向第二设备发送消息的通信单元,其中 该消息具有所选TTL值(TTL_S),该通信单元还适于从第二设备接收消 息,该消息包括由第二设备接收到的消息的TTL值(TTL—R)。处理器还 适于通过比较所选TTL值(TTL—S)和从第二设备接收到的TTL值 (TTL—R),计算到第二设备的距离。
在优选实施例中,处理器还适于建立安全通道,在该安全通道上 接收来自第二设备的消息。
在第四方面,本发明是一种适于在通信网络中计算距离的第二设 备。该第二设备包括通信单元,适于从第一设备接收具有生存时间 (TTL)值(TTL_R)的第一消息、以及包括基于第一消息初始TTL值 (TTL—S)的值的第二消息。第二设备还包括处理器,适于通过比较基 于第一消息初始TTL值(TTL—S)的值和第一消息的TTL值(TTL—R),计 算到第一设备的距离。
在优选实施例中,处理器还适于建立安全通道,在该安全通道上 接收来自第一设备的第二消息。
在第五方面,本发明是一种适于参与本发明第二方面所述的用于 在通信网络中计算距离的方法的第一设备。该第一设备包括适于选 择不可预测生存时间(TTL)值(TTL一S)的处理器;以及适于向第二 设备发送具有所选TTL值(TTL—S)的第一消息和包括所选TTL值(TTLS) 的第二消息的通信设备。
在优选实施例中,处理器还适于建立安全通道,在该安全通道上 将第二消息发送至第二设备。


下面将参考

本发明及其优选实施例的各种特征和优点, 其中附图意在说明而不是限制本发明的范围,在附图中 图l示出了应用本发明的典型环境;
图2示出了根据本发明使用TTL值进行距离计算的方法的优选实 施例;
图3示出了根据本发明使用TTL值进行距离计算的方法的备选实 施例;
图4示出了根据本发明使用TTL值进行距离计算的方法的另一备 选实施例;
图5示出了根据本发明使用TTL值进行距离计算的方法的又一备 选实施例;
具体实施例方式
图1示出了应用本发明的典型网络100。环境100包括三个设备
设备A110,设备B 130以及设备C 120。设备A和设备C连接至还包含第 一路由器150的第一局域网(L認)140。第一路由器150连接至互联网 160。设备B连接至第二LAN180,第二LAN 180还包含连接至互联网160 的第二路由器170。
尽管只示出了设备A和设备B,但所有设备都优选地包括处理器 (CPU) 111, 131、存储器(Mem) 112, 132以及通信单元(I/O) 114, 134。设备A还可以包括在参考图5说明的实施例中使用的定时器(T) 113或其他用于测量时间的装置。
当设备A向设备C发送消息时,消息直接通过第一LAN 140传送。 然而,当设备A向设备B发送消息时,消息首先通过第一LAN 140广播。 第一路由器150发现接收方未连接在第一LAN 140上,因此通过互联网 160并可能经由多个其他路由器(未示出)发送该消息,直至该消息到 达第二路由器170,第二路由器170通过第二LAN 180发送消息,并在 第二LAN 180上由设备B接收。所属领域技术人员应了解,对消息路由 的说明只是示例,可以存在其他变化形式,例如,第一路由150参与从 设备A到设备B的消息传输。 就以"跳转"计数的距离而言,设备A和设备C之间的距离为O;
不需要第一路由器150转发消息。然而,设备A和设备B之间的距离取 决于中间路由器的数目,因为每个路由器相当于一次"跳转"。如果消 息可以从第一路由器150直接传送至第二路由器170,则两个设备间的 距离就是2 (第一路由器转发消息,第二路由器也转发消息,因此总共 有两次转发或两次跳转)。类似地,如果第一路由器150可以将消息直 接传送至第二LAN 180上的设备B,那么距离就为l;如果在第一路由 器150和第二路由器之间还有一个路由器,则距离就为3,依此类推。
如上文所述,使用现有技术生存时间(TTL)值不能充分安全地 确保消息不会到达比计划距离远的设备。因此,现有技术TTL不能用 于安全地计算从一个设备到另一设备的距离。
为了克服现有技术的问题,本发明使用不可预测初始TTL值,其 限制是初始TTL值应等于或大于第一设备认为是"邻近"或"在附近" 的最大距离,即初始值应大于TTL上限。比如说,如果设备A想要验 证到设备B的距离不远于3次跳转,则设备A必须将初始TTL值至少设 置为3。另一限制是初始TTL值不能大于可能的最大值。这是由于为 TTL值分配了一个字节,其可能的最大值是255。
应注意到,关于本发明,"不可预测"TTL值是不可能被黑客等检 测到的。不可预测值可以是随机或伪随机的。
在附图中,将消息中包括的数据标注在括号中,而将消息的TTL 值,即被如路由器等所使用的TTL值标注在任何括号之外。
图2示出了根据本发明使用TTL值进行距离计算的方法的优选实 施例。设备A首先为计划发送到设备B的消息204设置不可预测TTL值 202,向设备B发送消息204,并且优选地将TTL值202存储在存储器112 中。消息204包括向设备A返回接收到的TTL值的指令(指令)。消息在 到达设备B的途中经过多个路由器(未示出)。 一旦接收到消息204,设 备B就读取206接收到的消息中的指令和TTL值(TTL—R)。接着,设备B 和设备A建立208, 210安全认证通道(SAC) 212。在优选实施例中,SAC 由处理器lll, 131根据在美国公布的专利申请2006/0093138Al中说明 的方法建立,但是,所属领域技术人员应了解,也可以应用其他SAC
或现有技术中用于保护消息的其他方法。设备为保护消息执行的任何
动作,无论是例如建立SAC或是用非对称加密算法的私有密钥对消息进 行解密,当适用时都将在本说明中表示为"建立安全通道"。
接着设备B在SAC 212上发送包含接收到的TTL值(TTL—R)的消息 214。在实施例的说明中,在SAC上发送值意味着该值是经认证(例如, 使用哈希消息认证码,HMAC,函数)、加密(例如,使用先进加密标准, AES)或优选地经认证和加密的。这样,值TTL—R就不会在未被设备注 意到的情况下为攻击者所修改。所属领域的技术人员应了解,还可以 使用其他确保不会在未被设备A注意到的情况下对值进行修改的情况 发生的方法,换句话说,确保值被安全地发送和接收(即,对消息和 值予以保护)。 一旦接收到此TTL值(TTL_R),设备A就计算216到设备B 的距离。
-如果TTL—R 〉 TTL—S,设备A可以得出受到了攻击的结论。
-如果TTL一R < TTL—S - TTL一C,设备A可以得出设备B距离太远, 即,不在"邻近"或不"在附近"的结论。
-如果TTL—S - TTL—C《TTL—R《TTL_S,设备A可以根据先验 知识得出设备B在最大允许距离以内,g卩,设备B"在附近"的结论。
下面将用示例对此予以进一步地说明。假定设备A将TTL上限 (TTL—C)设置为3,即,设备A认为不远于3次跳转的设备是位于其"附 近"的。此外,假定由设备A在消息中设置的不可预测TTL值为61,即 TTL一S二61。
-如果TTL—R 〉 61,就发生攻击(或错误)。
-如果TTL—R < 61-3=58,设备B不在"附近"。
-然而,如果58《TTL—R《61,设备A就根据先验知识认为设 备B位于附近,即在所需距离以内。
应注意到,对计算结果216的反应取决于应用。举例来说,应用可 以进行如下任一操作中断同第二设备的进一步通信;即使认为第二 设备不在附近也继续同其进行通信;或者再次检査距离。
图3示出了根据本发明使用TTL值进行距离计算的方法的备选实 施例。直到建立SAC212之前,该方法都遵循根据上述优选实施例的方
法的步骤。然而,这里是设备A向设备B发送消息314。该消息314可以 包括初始TTL值(TTL—S)、初始TTL值减TTL上限(TTL—S-TTL—C)、这两 个值、或这两个值之一连同TTL上限(TTL—C)。重要的是,当在SAC212
上发送时要对这些值都进行加密和认证。
接着设备B可以通过比较所接收TTL值(TTL—R)和消息314中接收 到的一个或更多个值(例如,初始TTL值(TTL—S)),计算316距离,并 使用这些值和己知TTL上限(存储在存储器132中),如上文中参考图2 说明的那样,变通地计算距离。
图4示出了根据本发明使用TTL值计算距离的方法的另一备选实 施例。直到建立SAC212之前,该方法都遵循依照上述优选实施例的方 法的步骤。这里,设备B在SAC 212上发送具有不可预测初始TTL值 (TTL,一S)的消息414。经加密和认证的消息414包括由设备B接收到的 TTL值(TTL—R)和消息414的初始TTL值(TTL'—S)。
一旦接收到消息414,设备A就读取所接收消息414的TTL值 (TTL,—R)。随后,设备A通过执行上文参考图2所说明的计算,计算416 到设备B的距离,这里执行了两次计算,首先比较与第一消息204有关 的TTL值(TTL—S和TTL—R),接着比较和第二消息414有关的TTL值 (TTL,—S和TTL,—R)。
图5示出了根据本发明使用TTL值计算距离的方法的又一备选实 施例。对该方法的简单说明就是,它是上文中说明的方法与在PCT专利 申请EP/2006/005319中说明的方法的组合,其中PCT专利申请 EP/2006/005319说明了 一种计算从一 个设备到另 一 设备的回程时间 (RTT)的安全方法。
首先,设备A向设备B发送消息502,以告知设备B即将进行一次 新的距离测量,设备B应为此做好准备。接着,设备A选择504不可预 测TTL值(TTL'_S)并在必要时优选地等待508—会儿,让设备B做好 准备。在此期间,设备B选择另一不可预测TTL值(TTL'一S)。
接着,设备A向设备B发送包括指令和所选TTL值(TTL—S)的消 息510,消息510本身具有所选TTL值(TTL—S)。设备A记录512发送时 间,或启动定时器113。 一旦收到消息510,设备B优选地立即以包括由设备B所选的TTL 值(TTL'_S)的消息514进行响应,消息514具有TTL值(TTL'—S)。
一旦收到此返回消息514,设备A就记录516接收时间(或停止定 时器113),记录所接收消息514的初始TTL值(TTL'_S)和所接收消息 514的TTL值(TTL'—R),并计算518回程时间(RTT)。在优选变体中, 设备A向设备B发送消息520,以向设备BRTT是在预先设定的阈值以 下。
一旦接收到此消息520,设备B就计算522认证数据,该认证数据 将允许设备A验证的确是设备B执行了该方法的另一半。在优选变体 中,消息520包括设备B的X.509证书以及TTL—S、 TTL—R和TTL,—S, 优选的是这些是经加密的并且整个消息是经签名的。
所属领域的技术人员应了解存在许多可能的变体。比如,设备A 可以在将可预测TTL值设置为消息本身的同时,在消息510中包括另一 不可预测值;设备B可以基于其他数据(如只基于TTL:S和TTL一R) 计算认证数据。
采用图5中的实施例,设备A可以基于TTL值,验证往返时间和距离。
应注意到,可以利用迭代,即对相同的接收方多次执行该方法, 提高根据上文说明的任一实施例的方法的安全性。
因此,可以了解,本发明通过利用具有生存时间值的消息来提供 一种计算第一设备与第二设备之间距离的安全方法,改进了现有技术。 所属领域的技术人员应了解,该方法没有进行任何假设,对中间结点 也未做任何特殊要求,因此中间结点可以像原先那样继续转发消息。
上述说明书、实例以及附图为本发明中各个部分的制造和使用提 供完整的说明。由于可以在不背离本发明精神和范围的前提下设计出 本发明的许多实施例,因此本发明由其后所附的权利要求书限定。
上述说明和(适当时)权利要求书以及附图所公开的各项特征可 以被单独地提供或以适当方式组合提供。这些特征可以适当地以硬件、 软件或两者结合的方式予以实现。在实际应用中,连接可以实现为无 线连接或有线(不一定是直接或专用的)连接。
此处,参考"一个实施例"或"实施例"表示结合该实施例而说 明的特定特征、结构或性质可以包括在本发明的至少一种实施方式中。 说明书中各处出现的任一短语"在一个实施例中"未必都指相同的实 施例,单独的或备选的实施例也未必和其他实施例相互排斥。
出现在权利要求书中的附图标记只是为了说明,而不会对权利要 求书的范围产生限制作用。
权利要求
1.一种在包括第一设备(110)和第二设备(130)的通信网(100)中计算距离的方法,所述方法包括在第一设备(110)处的以下步骤选择(202,504)不可预测生存时间TTL值(TTL_S);向第二设备(130)发送消息(204,510),所述消息(204)具有所选TTL值(TTL_S);从第二设备接收消息(214,414,514),所述消息(214)包括由第二设备(130)接收到的消息(204,510)的TTL值(TTL_R);以及通过比较所选TTL值(TTL_S)与从第二设备(130)接收到的TTL值(TTL_R),计算到第二设备(130)的距离。
2. 根据权利要求1所述的方法,其中,通过从所选TTL值(TTL—S) 中减去从第二设备(130)接收到的TTL值(TTL—R),计算所述距离。
3. 根据权利要求1所述的方法,其中,从第二设备接收到的消息 (214, 414, 514)是受保护的。
4. 根据权利要求3所述的方法,还包括步骤建立与第二设备(130) 的安全认证通道(212),其中通过在安全认证通道(212)上进行接收, 对受保护的消息(214, 414, 514)予以保护。
5. 根据权利要求1所述的方法,其中,从第二设备(130)接收到 的消息(414)还包括所接收消息(414, 514)的初始TTL值(TTL,—S); 所述方法还包括步骤读取所接收消息(414, 514)的TTL值(TTL'—R); 所述计算步骤还包括将所接收消息(414, 514)的初始TTL值(TTL,—S) 和所接收消息(414, 514)的TTL值(TTL,—R)进行比较。
6. 根据权利要求1所述的方法,还包括步骤测量(512, 516, 518)向第二设备(130)发送消息(510)和从 第二设备(130)接收到消息(514)之间的往返时间(RTT);从第二设备(130)接收认证数据,所述认证数据与第二设备以及 至少由第二设备(130)接收到的消息(510)的TTL值(TTL—R)以密 码方式相关联;以及验证(526)所述认证数据。
7. —种在通信网络(100)中计算距离的方法,所述方法包括在第 二设备(130)处的以下步骤从第一设备(110)接收第一消息(204, 510),所述第一消息(204, 510)具有生存时间TTL值(TTL_R);从第一设备(110)接收第二消息(314),所述第二消息(314) 包括基于第一消息(204)的初始TTL值(TTL—S)的值;以及通过比较第二消息(314)的值与第一消息(204)的TTL值(TTL—R),计算到第一设备的距离。
8. 根据权利要求7所述的方法,其中,第二消息(314)是受保护的。
9. 一种适于在通信网络(100)中计算到第二设备(130)的距离 的第一设备(110),包括处理器(111),适于选择(202, 504)不可预测生存时间TTL值 (TTL一S);以及通信单元(114),适于向第二设备(130)发送具有所选TTL值(TTL—S)的消息(204,510);从第二设备(130)接收消息(214,414, 514),所述消息(214, 414, 514)包括由第二设备(130)接收到的消息的TTL值(TTL—R);其中,所述处理器(111)还适于通过比较所选TTL值(TTL—S)和 从第二设备(130)接收到的TTL值(TTL—R)来计算到第二设备(130) 的距离。
10. 根据权利要求9所述的第一设备,其中,所述处理器(111)还 适于建立安全通道(212),来自第二设备(130)的消息(214, 414, 514)是在所述安全通道(212)上接收的。
11. 一种适于在通信网络(100)中计算距离的第二设备(130), 包括通信单元(134),适于从第一设备(110)接收第一消息(204),所述第一消息(204) 具有生存时间TTL值(TTL_R);以及从第一设备(110)接收第二消息(314),所述第二条消息(314) 包括基于第一消息(204)的初始TTL值(TTL—S)的值;以及处理器(131),适于通过比较基于第一消息(204)的初始TTL值 (TTL一S)的值和第一消息的TTL值(TTL—R),计算到第一设备(110) 的距离。
12. 根据权利要求11所述的第二设备,其中,所述处理器(131) 还适于建立安全通道(212),来自第一设备(110)的第二消息(314) 是在所述安全通道(212)上接收的。
13. —种第一设备(110),适于参与权利要求7所述的用于在通信 网络(100)中计算距离的方法,所述第一设备(110)包括处理器(111),适于选择(202)不可预测生存时间TTL值(TTL—S);以及通信单元(114),适于向第二设备(130)发送第一消息(204, 510),所述消息(204, 510)具有所选TTL值(TTL_S);以及向第二设备(130)发送包括所选TTL值(TTL—S)的第二消息(314)。
14. 根据权利要求13所述的第一设备,其中,所述处理器(111) 还适于建立安全通道(212),所述第二消息(314)是在所述安全通道(212)上发送至第二设备(130)的。
全文摘要
利用生存时间(TTL)值在通信网络(100)中计算距离的设备和方法。设备A设置(202)不可预测的初始TTL值(TTL_S),并向设备B发送具有此TTL值的消息(204)。TTL值应该和TTL上限至少等高,并低于或等于最大TTL值(通常为255)。设备B读取(206)所接收消息的TTL值(TTL_R)。设备A和设备B建立(208,210)安全认证通道(SAC)(212),设备B通过该通道发送所接收消息的TTL值(TTL_R)。随后,设备A就可以计算(216)到设备B的距离了。如果TTL_R>TTL_S,就表明发生了错误或攻击;如果TTL_R<TTL_S-TTL_C,就表明设备B距离太远;如果TTL_S-TTL_C≤TTL_R≤TTL_S,设备A就可以根据先验知识得出设备B在所需距离内。
文档编号H04L12/56GK101193063SQ20071019365
公开日2008年6月4日 申请日期2007年11月23日 优先权日2006年11月29日
发明者阿兰·迪朗 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1