首页> 中国专利> 安全计算两个设备之间的基于时间的长度的方法和设备

安全计算两个设备之间的基于时间的长度的方法和设备

摘要

为了提供往返时间(RTT)的安全测量,分离了RTT的计算和验证数据。设备A(212)将消息(222)发送到设备B(216),以便开始方法。两个设备生成(224;226)随机数(Random_A,Random_B),并且设备A等待(228)设备B完成。设备A将它的随机数发送(242)发送给设备B,设备B以它自己的随机数应答(246),并且设备A计算(255)RTT。如果RTT在某一界线以下,则设备A要求(252)设备B计算(262)的验证数据,并且将验证数据发送(264)给设备A,该设备A检验(266)所述验证数据。因此可以安全地计算RTT,而不管设备B的计算资源。也提供了替代的实施例的系统和装置。

著录项

  • 公开/公告号CN101204067A

    专利类型发明专利

  • 公开/公告日2008-06-18

    原文格式PDF

  • 申请/专利权人 汤姆森特许公司;

    申请/专利号CN200680022190.0

  • 申请日2006-06-02

  • 分类号H04L29/06(20060101);H04L12/24(20060101);H04L9/32(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人史新宏

  • 地址 法国布洛涅

  • 入库时间 2023-12-17 20:23:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-17

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL2006800221900 申请日:20060602 授权公告日:20110622

    专利权的终止

  • 2019-06-18

    专利权的转移 IPC(主分类):H04L29/06 登记生效日:20190529 变更前: 变更后: 申请日:20060602

    专利申请权、专利权的转移

  • 2019-06-18

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20060602

    专利权人的姓名或者名称、地址的变更

  • 2011-06-22

    授权

    授权

  • 2008-08-13

    实质审查的生效

    实质审查的生效

  • 2008-06-18

    公开

    公开

查看全部

说明书

技术领域

本发明一般涉及通信网络,更具体地涉及所述网络中的安全。

背景技术

基于时间的长度(time-based distance)通常用于网络领域中,并且被测量为两个设备之间分组传输的持续时间。标准因特网协议、因特网控制消息协议(RFC 792;http://www.ietf.org/rfc/rfc792.txt)存在,并且允许以毫秒计算两个主机之间的长度。相关的命令被称作“ping”,并且基于时间的长度叫做“往返时间(round trip time,RTT)。该基于时间的长度例如被用来决定两个设备是否在本地附近(local proximity)。

图1图解说明了网络100中的本地附近的概念。网络100包括两个局域网(LAN),通过因特网130相互连接的LAN L1 110和LAN L2 120。LAN L1110包括设备A 112和设备C 114,这两个设备都在图解说明本地附近的圆圈116内,即,在该圆圈内的设备被认为靠近参考点,在这种情况下是设备A。LAN L2 120包括设备B 122,其位于圆圈116的外面,是指它不能被认为靠近设备A。

现有技术中,设备A确定设备B是否在其紧密的附近的普通方法是基于时间的持续时间的。设备A向设备B发送一系列ping命令并且测量相关的RTT。只要设备A获得小于给定界线(例如,7ms)的RTT,它就考虑设备B在其本地附近。如果不是,则在大于这个界线的RTT——通常是50或100之后,它认为是设备B不在其本地附近。

存在其他方法,其中,设备A不直接确定设备B是否靠近它。例如,设备A可以将消息发送给设备,从而仅其本地附近的设备接收它。一种典型的方法是以低生存时间(Time-To-Live,TTL)发送消息的。这些消息可以仅通过有限数量的(即,TTL)网络节点。

然而,“ping”解决方案提供低级的安全性。设备A无法确保对其ping命令的响应来自设备B且因此它测量的时间长度涉及设备B。攻击者(位于LAN L1中)可以阻挡对LAN L1外部的设备的所有ping并且代表它们应答。然后认为所有那些设备都在其本地附近。这个失败是由于现有技术中缺少安全性引起的。

该问题的基本解决方案是使用标准密码方式验证ping响应:设备A发送口令(challenge)(以其ping命令到设备B)并且等待响应。当接收它时,它可以检查仅设备B可能已计算该响应。例如,设备A可以向设备B发送随机数,并且设备B例如通过标记它来验证它。设备A然后校验验证代码。在第二示例中,设备A加密口令并且将其发送给设备B,设备B以解密的口令进行答复。

为了证明ping响应起源于它,设备B必须在应答设备A之前执行密码计算。所述计算所需的时间可能从一个设备变化到另一个设备,并且对低资源设备非常重要。如果是相反的情况,则计算时间可能导致设备A考虑到低资源设备不在其本地附近。这明显不是一直令人期待的。自然,设备A将增加所述界线,使得低资源设备具有执行计算和响应的时间。然而,如此做通常意味着本地附近以外的高资源设备将被认为在之内,这通常是不令人愉快的。

WO 2004/014037描述了一种保证第一设备和第二设备之间的验证的长度测量的方法。第一设备验证第二设备,与第二设备交换秘密,并且将用于距离测量的信号发送到第二设备。第二设备然后根据该口令修改接收到的信号,并且返回修改的信号。一旦接收到修改的信号,第一设备测量往返时间,并且检验接收到的信号根据交换的秘密而修改。如将理解的,WO 2004/014037可被看作为之前的基本解决方案的实现,并且遭受至少一些缺陷。

因此,可以理解的是,需要一种安全计算基于时间的长度并且与设备资源无关的方法。本发明提供了这样的方法。

发明内容

在第一方面,本发明致力于一种在第一设备安全计算到网络中的第二设备的基于时间的长度的方法。第一设备发送第一消息给第二设备并且作为响应接收第二消息,并且基于第一消息的发送时间和第二消息的接收时间来计算时间长度。第一设备也接收其他消息,所述其他消息包括加密(cryptographically)链接到下列之一的验证数据:至少第一消息、至少第二消息、以及至少第一消息和第二消息;并且检验所述验证数据。

在优选实施例中,如果所计算的基于时间的长度在预定界线以下,则第一设备还发送消息以请求包括验证数据的其他消息。

在另一优选实施例中,所述第一消息包括第一密码元素,所述第二消息包括第二密码元素,并且所述验证数据是基于所述第一密码元素和所述第二密码元素计算的。

有利地,所述密码元素是随机数,并且所述验证数据是使用所述随机数计算的函数的结果,所述函数是个秘密。同样有利地,第一设备向第二设备发送第四消息以便让其知道已经开始所述方法,并且生成所述第一密码元素。进一步有利地,第一设备等待预定时间,从而给所述第二设备完成生成所述第二密码元素的时间。

在替换的实施例中,第一设备计算验证数据,并且其中发送给所述第二设备以请求包括第二设备的验证数据的所述其他消息的消息包括第一设备的第一验证数据。

在又一优选实施例中,一旦成功检验所述验证数据,第一设备还使对所述第二设备的基于时间的长度的计算有效。

在第二方面,本发明致力于一种在网络中的第二设备对用于在第一设备安全计算到第二设备的基于时间的长度的协议响应的方法。第二设备从第一设备接收第一消息,所述第一消息请求对基于时间的长度的计算的响应。响应第一消息,它发送第二消息。第二设备然后计算验证数据,所述验证数据加密地链接到下列之一:至少第一消息、至少第二消息、以及至少第一消息和第二消息;和向第一设备发送包括验证数据的第三消息。

在第三方面,本发明致力于一种第一设备,其被适配成安全计算到网络中的第二设备的基于时间长度,所述第一设备包括:输入/输出单元,被适配成:发送第一消息到第二设备;和从第二设备接收响应第一消息而发送的第二消息。所述第一设备还包括处理器,被适配成:基于第一消息的发送时间和第二消息的接收时间计算时间长度。所述输入/输出单元还被适配成接收包括验证数据的其他消息,所述验证数据加密地链接到下列之一:至少第一消息、至少第二消息、以及至少第一消息和第二消息;和所述处理器还被适配成检验所述验证数据。

在优选实施例中,所述输入/输出单元还被适配成:只要所计算的基于时间的长度在预定界线以下,就发送消息以请求包括验证数据的其他消息。

可能有利地是,所述处理器还被适配成计算第一设备的验证数据,并且所述输入/输出单元还被适配成在发送给第二设备的消息中包括第一设备的验证数据,以请求包括第二设备的验证数据的其他消息。

在又一优选实施例中,所述处理器还被适配成:生成第一密码元素;和基于第一加密元素和第二加密元素检验验证数据,所述验证数据被加密地链接;以及所述输入/输出单元还被适配成:在第一消息中包括第一加密元素;和接收第二消息中的第二加密元素。

在第四方面,本发明致力于一种第二设备,其在网络中被适配成响应在第一设备发起的协议,用以安全计算到第二设备的基于时间的长度。所述第二设备包括:处理器,被适配成:计算验证数据,所述验证数据加密地链接到下列之一:至少第一消息、至少第二消息、以及至少第一消息和第二消息;和输入/输出单元,被适配成:从第一设备接收第一消息,响应于第一消息,发送第二消息至第一设备;和向第一设备发送包括验证数据的第三消息。

在优选实施例中,所述输入/输出单元还被适配成从第一设备接收消息,所述消息包括由第一设备计算的验证数据。所述处理器还被适配成检验接收到的验证数据,并且只要接收到的验证数据被成功检验就计算它自己的验证数据。

附图说明

现在参考附图通过举例来描述本发明的优选特征,其中:

图1,在之前已描述,是网络以及本地附近的概念的图解说明;

图2图解说明了根据本发明的方法的优选实施例的流程图;

图3图解说明了根据本发明的方法的替换实施例的流程图;和

图4图解说明了根据本发明的方法的又一替换实施例的流程图。

具体实施方式

图2图解说明了根据本发明的方法的优选实施例的流程图。所述方法具有三个一般阶段:

1.预计算阶段,其中开始所述方法,并且进行第一密码计算。

2.两个设备之间的基于时间的长度的测量阶段,在“ping”之类的命令下交换预计算阶段的结果。

3.密码检验阶段,其中计算和交换附加的验证数据(加密地链接到在“ping”消息中交换的结果),并且检验验证。换句话说,要检验对“ping”命令的响应的发送者是验证数据的发送者,并且进一步检验应答设备的身份。

在此后的描述中,假设设备A 212需要安全测量到设备B 216的RTT。换句话说,设备A发起协议并且设备B对其进行响应。

在一个实施例中,设备A和设备B中的每一个具有由共同信任的实体鉴定的X.509证书、以及相关的RSA私有密钥。在所述方法开始之前,每个设备知道该证书以及其他设备的公共密钥。然而,下面描述优选实施例。

设备A 212包括用于计算的处理器213和用于通信的输入/输出单元214。设备B 216也包括用于计算的处理器217和用于通信的输入/输出单元218。

当设备A 212向设备B 216发送新的测量消息222时,预计算阶段开始。消息222表示设备A希望进行新的RTT测量。一旦接收该消息222,设备B计算224密码元素,最好是对于每个计算来说是新的随机数(Random_B)。设备A计算226单独的密码元素,最好是对于每个计算来说是新的随机数(Random_A),并且等待228预定时间来给予设备B用于计算所需的时间。在优选实施例中,设备A知道设备B计算所需的最大时间,但是,例如,如果设备A不知道该最大时间,则也可能使用预定的一般时间值。

当设备A将包括其密码元素的消息242发送到设备B时,测量阶段开始,并且也注释(note)244发送时间。一旦接收设备A的消息242,设备B以包括其密码元素的消息246作为响应。设备A接收消息246并且注释248接收时间。使用发送时间和接收时间,设备A然后计算250到设备B的RTT。然而,应当注意,在这点上,设备A无法知道据称来自设备B的消息246真正地来自该设备。

在优选实施例中,当计算250 RTT时,设备A也检验RTT是否在给定界线以下,即,设备B是否在本地附近。如果不是这种情况,即,如果设备B不在附近,则没有校验到设备B是消息246的发送者,并且所述方法停止或重新开始——此前已经提到,这是普通的:发送多达50到100个一系列ping消息以计算到设备的RTT并且只要一个RTT在某一值以下就停止。如果已经超过界线,则对于设备A也可以重新开始所述方法,而不接收来自设备B的响应。然而,如果设备A认为设备B在本地附近,则通过发送指示RTT良好的消息252来要求验证数据,但是验证数据是必需的。在替换实施例中,没有发送“RTT良好”消息252,并且自动执行剩余的方法。

当设备B或者自动或者响应于“RTT良好”消息252时,密码检验阶段然后开始,然后计算262所需的验证数据——加密地链接到“ping”消息242、246,在这种情况下基于设备A和设备B的密码元素——它是发送给设备A的消息246的发送者。验证数据最好是由设备B的私有密钥签名的两个密码元素的串接(concatenation)。计算证明的最优方法使用公用密钥密码,但是其他方式,例如使用秘密密钥密码也是可能的。设备B然后向设备A发送包括验证数据的消息264。在优选实施例中,验证数据消息264还包括设备B的证书(certificate)。

一旦接收该消息264,设备A就检验266验证数据。成功的检验是指响应于设备A将消息242发送到设备B,来自设备B的消息246真正地来自设备B。所述检验最好通过检验设备B的证书是允许的证书来执行,即,通过检验信任的X.509链;解密签名;并且检查结果匹配密码元素Random_A和Random_B的串接。一旦成功检验,设备A就使对设备B的基于时间长度的计算有效。设备A现在保证它已ping到设备B,并且如果RTT良好,则设备B在其本地附近。

考虑图1中设备B未靠近设备A,并且其中攻击者C(位于LAN L1中)能够阻挡所有ping到LAN L1外部的设备,并且代替它们应答。当设备A使用本发明时,设备C无法计算设备B的验证数据,因为它不能处理B的私有密钥。通过发起协议,传送自己作为设备A,设备C可以从设备B预先获得验证数据。但是,在这种情况下,设备C将必须预测由设备A生成的密码元素,而这是不可能的。另外,从设备B获得的验证数据将不会有效,如果设备C将其发送到设备A,然后将认为设备B不在其本地附近。根据本发明的方法因此比现有技术的方法更安全。

图3图解说明了根据本发明的方法的替换实施例的流程图。图3图解说明的实施例类似于优选实施例,并且相同的步骤将由附图标记表示。

在所述方法开始之前,设备B计算并且存储至少一个密码元素,最好是随机数。

设备A通过计算226在消息242中被发送到设备B的密码元素,开始所述方法。设备A也注释244发送时间。一旦接收消息242,设备B就使用345其存储的密码元素,并且在消息246中将其发送到设备A。设备A注释248接收时间,并且计算250往返时间(RTT)。

如果RTT在某一阈值之下,则设备A向设备B发送消息252,以便让其知道RTT是可接受的以及其需要验证数据。然后设备B按此前描述地计算验证数据,并且在消息264中将验证数据发送到设备A。设备A然后检验266验证数据,并且从而校验接收到的“ping”消息246的来源和设备B的身份。

在已发送包括验证数据的消息264之后,如果设备B仅具有一个存储的密码元素,则它计算368新的密码元素。

图4图解说明了根据本发明的方法的又一替换实施例的流程图。图4图解说明的实施例类似于优选实施例,并且相同的步骤将由相同的附图标记表示。

设备A以向设备B发送新的测量消息442,最好包括设备A的证书,来开始所述方法。设备A和设备B中的每一个计算226、228密码元素,并且设备A等待228以便给设备B完成计算的时间。

设备A将包括其密码元素的消息242发送给设备B,并且注释244发送时间。一旦接收消息242,设备B就使用其计算的密码元素,并且在消息246中将其发送给设备A。设备A注释248接收时间,并且计算250往返时间(RTT)。

如果RTT在某一阈值之下,则设备A计算451验证数据(auth.data_A)以证明其身份,并且向设备B发送包括验证数据的消息452。消息452也让设备B知道RTT是可接受的以及设备A需要来自设备B的验证数据(auth.data_B)。一旦接收消息452,设备B就检验454从设备A接收的验证数据,这意味着来自设备A的消息242真正地来自设备A。如果设备B被保证它被设备A ping,则它按此前所描述地计算262所需的验证数据,并且在消息264中将验证数据发送到设备A。然后,设备A检验验证数据,且从而校验“ping”响应246的来源和设备B的身份。

本发明例如可用于网络上的视频扩散(diffusion),以确保仅源的本地附近的设备接收视频。

因此,能够理解本发明通过提供一种安全计算基于时间的长度而与设备资源无关的方法对现有技术特进行了改进。

应当理解,通过举例完整地描述了本发明,并且在不背离本发明的范围的情况下可以进行细节的修改。

描述以及(合适的)权利要求书和附图中公开的每个特征可被单独提供或者以任何合适组合提供。特征可以适当地以硬件、软件或两者组合来实现。连接可以适用于按无线连接或有线连接来实现,而不必是直接或专用连接。

权利要求中出现的附图标记仅用于举例说明,不对权利要求的范围有限制作用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号