邻近性检查服务器的制作方法

文档序号:7948858阅读:192来源:国知局
专利名称:邻近性检查服务器的制作方法
技术领域
本发明涉及一种用于确定第一设备与第二设备之间允许的通信等级的方法。本发明还涉及一种用于能够确定第一设备与第二设备之间允许的通信等级的邻近性检查服务器。本发明还涉及一种包括与网络相连的第一设备和第二设备的系统。本发明还涉及一种计算机程序产品,用于能够确定第一设备和第二设备之间允许的通信等级,供邻近性检查服务器使用。本发明还涉及一种计算机程序产品,用于能够确定第一设备和第二设备之间允许的通信等级,供第一设备使用。
安全认证信道(SAC)通常被用于保护例如在家庭网络中从一个设备传送到另一设备的数字内容。SAC的一个示例是DTCP(数字传输内容保护规范,第1卷(信息版),修订版1.3,2004年1月7日,可以从http://www.dtcp.com/data/info_20040107_dtcp_vol_1_lp3.pdf获得),DTCP被规定用于在例如机顶盒和数字电视之间的IEEE1394连接。在此示例中,SAC的地理范围由最大容许电缆长度来限定。这种物理限制在使用互联网协议(IP)作为设备之间的下层传输机制时不存在。然而,内容供应商通常仍然要求有关设备紧密邻近。原因在于这将防止在多个家庭之间共享内容,因为紧密邻近的设备更可能属于单个家庭网络。
在不同的设置中以及在不同的规模上,广播公司要求广播内容可以在目标区域内的用户之间共享,但不应从那些用户发送给目标区域外的用户。例如,内容应将限于已经购买版权许可证的单一国家,或者内容应将限于卫星的复盖区。可以通过限定允许交换内容的用户之间的距离来实现这种确定的区域。
国际专利申请WO2004014037描述了一种用于第一通信设备执行第一通信设备和第二通信设备之间认证距离测量的方法,其中第一和第二通信设备共享公共秘密(common secret),该公共秘密用于执行第一和第二通信设备之间的距离测量。
对查询发送和响应接收之间的持续时间(往返时间,RTT)的测量,只有当测量设备具有安全的时间概念时才可靠。在例如CE设备的封闭系统中,这通常不是问题。然而,在开放系统中,例如在PC运行的Windows或Linux中,这可能难于实现。原因在于运行在这种系统上的可信应用(包含建立SAC所需的一个或多个秘密的应用)通常不可以访问安全时钟。可信应用运行在开放操作系统上,使黑客能够插入“时钟欺骗”驱动器,或在操作系统中修改系统时钟,而操作系统向软件报告“wall-clock(挂钟)”时间或实时时钟(real-time clock)。欺骗此时钟可以导致系统时钟值被随意修改(例如变慢),从而影响了距离测量。
本发明的目的在于提供一种前文所述的方法,其允许运行在开放系统上的应用访问可靠生成的关于设备位置和/或两个设备之间相对距离的信息,以便确定运行应用的通信设备之间允许的通信等级。
此目的通过包括以下步骤的方法来实现第一邻近性检查服务器执行与第一设备的通信协议,以便可靠地确定第一邻近性检查服务器与第一设备之间的第一距离;第二邻近性检查服务器执行与第二设备的通信协议,以便可靠地确定第二邻近性检查服务器与第二设备之间的第二距离;确定第一确定距离和第二确定距离是否满足预定规则;以及确定第一设备与第二设备之间允许的通信等级。
根据本发明,一个或多个所谓的邻近性检查服务器(PCS)执行认证距离测量。每个PCS必须能够可靠地执行这些测量并因此必须是抗篡改的。抗篡改的设备是执行操作的设备,这些操作的功能不能被一般用户利用可用的工具和技术来改变,可用工具和技术的示例如改锥、剪钳、烙铁、或通过在可编程设备上安装或修改应用软件或软件驱动器。为了实现抗篡改,PCS可以包含封闭的、基于硬件的子系统。同样地,PCS可以是直接连接到家庭网络的独立装置。可替换地,PCS可以是其它设备的可信子系统,例如路由器或网络接口模块。在另一实施例中,PCS可以由加密狗(dongle)(USB、RS232、并口)和适宜的驱动软件组成,加密狗包含可信的硬件部分。
现在,如果家庭网络上的两个设备想要建立地理上本地化的SAC,则(一个或多个)PCS测量到两个设备中的每一个设备的距离。当单个PCS用作第一PCS和第二PCS时,它执行两个距离测量,PCS之间的距离被已知(并且毫无疑义地被证明)为零。随后,确定第一确定距离和第二确定距离是否满足预定规则。作为可能规则的第一示例,在单个PCS已生成第一距离和第二距离测量的情况下,所述规则可以是第一确定距离和第二确定距离的和保持在预定阈值之下。因此,设备可以被认为靠得足够近,以便允许它们例如交换数字内容。因此,在第一设备和第二设备之间的最大距离将永不会超过该阈值,例如全系统范围的恒量或包含在将要传送的内容中的值。作为规则的第二示例,还是在单个PCS的情况下,第一确定距离和第二确定距离都应低于阈值。在这种情况下,第一设备和第二设备都被限制在PCS周围的圆周区域。作为规则的第三示例,在两个不同PCS的情况下,第一确定距离与第二确定距离与PCS之间的已知距离之和应该低于阈值。作为规则的第四示例,还在已知或根据策略选择位置的两个不同PCS的情况下,第一确定距离与第二确定距离每个都应该低于阈值。在此示例中,规则检验了第一设备和第二设备是否都处于各自执行距离测量的PCS的圆周范围内。
通信协议优选是挑战响应协议,从而只有第一设备或第二设备本身能够提供对挑战的响应。
作为额外的优点,此目的可以被实现而无需修改现有联网的硬件软件。仅需将PCS添加到现有的网络。
例如,本发明可被用于家庭网络和授权域的领域中,以及(部分更广和更大的)分布式网络中。
从属权利要求2描述了本发明的实施例。在此实施例中,距离测量是往返时间测量。从这些往返时间测量,距离被估计,而且还被优选地认证。然而,代替基于往返时间估计第一距离和第二距离的是,往返时间还可以被直接用作为第一和第二距离的测量。
从属权利要求3描述了本发明的实施例。在此实施例中,只有一个邻近性检查服务器,从而第一邻近性检查服务器和第二邻近性检查服务器是同一个。邻近性检查服务器确定到第一设备和到第二设备的距离。由于相同的邻近性检查服务器被用于这两个测量,所以例如距离可以被求和,以便获得设备之间距离的上限,或者距离可被用于确定两个设备是否都处于到邻近性检查服务器的限定距离内。
从属权利要求4描述了本发明的实施例。仅当第一确定距离和第二确定距离以及邻近性检查服务器之间的距离之和低于预定阈值时,设备才被认为靠得足够近,以便允许它们以某种等级进行通信。如果第一和第二邻近性检查服务器是相同的(如权利要求3所述),那么第一和第二邻近性检查服务器间的距离为零。
从属权利要求5描述了本发明的实施例。在这种情况下,代替距离总和的是,每个距离应该低于各自的预定阈值。这些阈值确定了围绕(一个或多个)邻近性检查服务器的(一个或多个)目标区域,而在目标区域内,允许设备彼此通信。优选地,为了优化保护,(一个或多个)邻近性检查服务器位于地理区域(或者区域部分)中心的附近,而在该区域内,允许设备交换内容。目标区域可以是形成匹配卫星覆盖区或特殊管辖范围的限定区域。
在权利要求6中描述了本发明的有利实施例。多个邻近性检查服务器可被用于提高测量精确度。首先,可测量设备到最近的邻近性检查服务器的距离,这可以产生更精确的测量。另外,这允许区域具有不同于简单圆形的形状,而在所述区域中允许设备之间通信。服务器增加得越多,目标区域的形状就可能越复杂。如果不同的邻近性检查服务器被用于测量到第一设备和到第二设备的距离,则总距离随不同邻近性检查服务器之间(已知)的距离而增加。
其次,可以使用额外的邻近性检查服务器,通过执行多个在不同的邻近性检查服务器与相同的将要测量到其距离的设备之间的距离测量,更精确地确定第一设备或者第二设备的位置,由此更精确地确定设备的位置。
在权利要求7中描述了本发明的有利实施例。如果邻近性检查服务器位于例如无线网络接入点、电话交换点、或者电缆分线站中,该方法允许选择邻近性检查服务器的位置,这样特定的用户组(例如特定的街道或城镇)是目标区域的一部分。
在权利要求8中描述了本发明的有利实施例。通过集成往返时间测量与认证协议,欺骗邻近性检查服务器变得更加困难,而且第一设备可以确信PCS具有执行邻近性测量的授权。第一设备具有对PCS唯一标识符的被认证的访问。
从属权利要求9描述了根据本发明方法的另一实施例。根据此实施例,邻近性检查服务器作为邻近性证书服务器,并且为每个测量的距离生成第一邻近性证书。邻近性证书是数据结构,除了别的以外,还包含特定设备与PCS之间的距离或往返时间的信息、以及可用于确定消息可靠并且没有被篡改的加密签名。此加密签名可以例如使用对称密码的密码系统或者公钥的密码系统。
从属权利要求10描述了根据本发明方法的又一实施。在此实施中,每个设备从邻近性检查服务器取回其各自的邻近性证书,在这之后,设备可以交换这些邻近性证书。通过对从这些邻近性证书中取回的距离应用预定规则,就可获得各自设备之间允许的通信等级。这可以(在两个设备上)对称地执行,或者只由一个设备执行(优选最关心监控内容保护的设备)。在此实施例中,PCS仅需要按要求执行距离测量,并因此PCS便于实现且成本低廉。
从属权利要求11描述了根据本发明方法的又一可能实施例。在此实施中,第二设备从邻近性检查服务器中取回两个邻近性证书。通过对从这些邻近性证书中取回的距离应用预定规则,就可获得各自设备之间允许的通信等级。
在设备请求邻近性证书以后,由邻近性检查服务器负责发送邻近性证书。邻近性检查服务器要么可发送本地已经可用的邻近性检查,要么它可以生成新的邻近性证书,这取决于例如该请求是否明确或暗示请求新的证书、或者取决于邻近性证书目前是否已经生成。
从属权利要求12描述了根据本发明方法的有利实施例。为了确保邻近性证书仍然具有有效的意义,距离测量的时间被包含在邻近性证书中。
从属权利要求13描述了根据本发明方法的有利实施例。在此实施例中,第一设备在邻近性证书请求中插入随机数,并且邻近性检查服务器随后在包括该邻近性证书请求的随机数的邻近性证书上签名。邻近性证书中的此随机数允许第一设备检验该邻近性证书是否的确是在提出请求之后创建的。
从属权利要求14描述了根据本发明方法的实施例。根据此实施例,邻近性检查服务器作为距离证书服务器,并且生成第一设备与第二设备之间距离的距离证书。距离证书是数据结构,除了别的以外,还包含两个特定设备之间距离的信息,以及可用于确定消息可靠并且没有被篡改的加密签名。此加密签名可以例如使用对称密码的密码系统或者公钥的密码系统。第一确定距离和第二确定距离被邻近性检查服务器用来计算设备之间的距离。此证书可被两个设备的任一或者两个设备进行取回,以便检验另一个设备是否足够靠近。
从属权利要求15描述了根据本发明方法的再一实施例。在此实施中,要么第一或第二设备、要么两个设备从邻近性检查服务器请求第一和第二设备之间距离的距离证书。如果该距离证书在邻近性检查服务器还不可用,或者如果它不再有效,则邻近性检查服务器将执行必要的测量,并将生成距离证书,在此之后,距离证书可被(一个或多个)请求设备取回。随后,该距离可与预定阈值相比,以便决定第一和第二设备之间允许的通信程度。
从属权利要求16描述了根据本发明方法的再一实施例。在此实施中,要么第一或第二设备、要么两个设备请求邻近性检查服务器检验第一设备和第二设备之间的距离。这具有如下优点,即设备只限于知道设备之间的确切距离。它们只知道它们是否处于允许的范围内。答复可以被看作是只说明距离是否低于预定阈值的距离证书。
从属权利要求17描述了根据本发明方法的有利实施例。为了确保距离证书仍然具有有效的意义,距离测量的时间被包含在距离证书中。
从属权利要求18描述了根据本发明方法的有利实施例。在此实施例中,第一设备在距离证书请求中插入随机数,并且邻近性检查服务器随后在包括该距离证书请求的随机数的距离证书上签名。距离证书中的此随机数允许第一设备检验该距离证书是否的确是在提出请求之后创建的。
在权利要求19中描述了根据本发明的邻近性检查服务器的有利实施。根据此实施,邻近性检查服务器采用了具有限定范围的无线通信链路,从而只有处于无线通信范围内的本地设备(或直接连接这种本地设备的设备)将能够获得邻近性证书或者距离证书。为了加强邻近性检查,优选还执行不同的距离测量,例如往返时间测量。
在权利要求20中描述了本发明的另一实施例。在此实施例中,邻近性检查服务器参与设备之间安全连接的设置,只有在设备到(一个或多个)邻近性检查服务器的距离被测量,并且如果邻近性检查服务器确定预期的距离满足预定规则以后,才进行所述设置。
本发明的另一目的在于提供一种邻近性检查服务器,其允许运行在开放平台设备上的应用访问可靠生成的关于设备位置和/或两个设备之间相对距离的信息,以便确定运行应用的通信设备之间允许的通信等级。
此另一目的通过根据本发明的邻近性检查服务器来实现,所述邻近性检查服务器包括发送装置,被安排成在与至少第一设备和第二设备其中之一的通信协议(200)期间发送消息;接收装置,被安排成在通信协议期间接收消息;抗篡改处理装置,被安排成执行通信协议;抗篡改测量装置,被安排成在执行通信协议时测量距离;抗篡改处理装置还被安排成生成距离证书和邻近性证书中的至少一种;以及抗篡改签名装置,被安排成在距离证书和邻近性证书中的至少一种上进行加密签名。
根据本发明的处理装置,要么包括具有下列功能的装置用于估计到第一设备的距离和到测量距离的第二设备的距离,并随后生成和签名距离证书;要么处理装置包括具有下列功能的装置用于估计到第一设备的距离,并且随后生成和签名邻近性证书。
在权利要求22中描述了根据本发明的邻近性检查服务器的有利实施。根据此实施,邻近性检查服务器还包括用于将往返时间转换为距离估计的装置。
在权利要求23中描述了根据本发明的邻近性检查服务器的有利实施。依据此实施,邻近性检查服务器被集成在网络设备中,网络设备例如可以是网络路由器或网络接口模块。
在权利要求24中描述了根据本发明的邻近性检查服务器的有利实施。根据此实施,邻近性检查服务器被实现在通常称为加密狗的抗篡改模块中,其可被连接至使用通用接口的系统,通用接口的示例如USB、RS232、并口、蓝牙、802.11、或IRDA。
本发明还以根据本发明的系统为特征,该系统还包括与网络相连接的抗篡改邻近性检查服务器,其中邻近性检查服务器被安排成使用所述方法验证到第一和第二设备的距离。
在权利要求26中描述了根据本发明的系统的再一实施。第一设备或第二设备(或者两个设备)可以是运行在开放系统上的软件实现,例如运行标准操作系统的计算机。
本发明还以根据权利要求27~30的计算机程序产品为特征。


图1说明了SAC协议的技术现状;图2说明了本发明的第一实施例;图3示出了往返时间测量;图4说明了SAC建立协议的第一示例,SAC建立协议包括往返时间测量协议,以便生成邻近性证书;图5说明了SAC建立协议的第二示例,SAC建立协议包括往返时间测量协议,以便生成邻近性证书;图6说明了包括不同PCS的SAC建立协议的示例;以及图7说明了包括生成距离证书的PCS的SAC建立协议的示例。
图1沿着第一设备(设备A)101和第二设备(设备B)102之间的时间线(timeline)100,说明了安全认证信道(SAC)协议的技术现状。设备A和设备B每个都具有设备证书Certx(X=A,B),其通过密钥发行中心(KIC)的签名担保设备的身份IDx和公钥Kpub,x。另外,每个设备包括与它们经过证明的公钥有关的私钥。在步骤111和112,设备交换它们的证书和随机数。在示例的实施中,设备A在步骤111向设备B传输证书CertA=signKIC(IDA||Kpub,A)和随机数RA。类似地,设备B在步骤112向设备A传输证书CertB=signKIC(IDB||Kpub,B)和随机数RB。通信步骤111和112可以以任何顺序乃至交叠进行。在证书签名验证之后,设备在步骤113和114(其还可以以任何顺序或者重叠方式进行)中交换响应。设备A在步骤113向设备B传输响应signA(RB||Kpub,B(KA)),其中KA是来自设备A的会话密钥成分。在响应Kpub,B(KA)中,KA用设备B的公钥加密。类似的传输在步骤114发生在相反方向——从设备B到设备A。随后,两个设备验证签名和响应,并从密钥成分KA和KB中计算SAC密钥。
在图2中说明了本发明的第一实施例。不同设备在网络环境200中进行通信。在此实施例中,可信应用206运行在第一设备(设备A)201上,目的在于与第二设备(设备B)202建立SAC。设备A和设备B包括发送装置221/241、接收装置222/242、处理装置223/243等。几种服务发现协议可以连接设备A和B,两者都可以作为发起者。在建立与设备B的通信信道之前,设备A上运行的可信应用想要验证设备B是否处于距离设备A预定的最大距离之内,以便在它将决定执行某个特定动作例如共享内容以前,确定它属于相同的家庭网络。
如果该可信应用运行在具有开放体系结构的设备上,则它不能可靠地使用它的系统时钟来可靠地确定距离。替代的是,为了可靠地确定距离,使用抗篡改邻近性检查服务器(PCS)203被用来执行PCS分别与设备A和设备B之间的两个往返时间测量。设备A和设备B的距离利用此测量来估计。
PCS203包括发送装置211、接收装置212、处理装置213、抗篡改测量装置214、估计装置215,以及签名装置216。计算机程序产品207和208可携带指令,这些指令在被加载时,使设备202和203中的可编程设备分别执行实现根据本发明的方法所必需的步骤。
通过根据本发明的方法来保护的内容可以是音频或者视频内容,但还可以被用于其他类型的内容,例如,用户简档、文本文档、网络摄影机(webcam)图像(例如靠近走廊或者家庭环境内的网络摄影机)、智能住宅监视和控制服务等。
协议中包含的所有实体,即设备A和B与PCS可便利地使用RSA公钥的密码系统。所有的签名可给出消息恢复,并可以遵循ISO/IEC9796-21997(E)来创建。公钥加密可以遵循PKCS#1v2.1的第7.2节来执行。加密还可以遵循PKCS#1v2.1第7.1节(RSAES-OAEP)来执行。协议的认证及密钥交换部分可以遵循ISO/IEC11770-31999(E)第7.6节。
可以进一步保护PCS,以便通过实现物理不可复制(Uncloneable)功能(PUF)来使设备A和B验证PCS的完整性和真实性。PUF是通过实体系统(physical system)229/249来实现的功能,从而该功能很容易评价,但是该实体系统却难以表征。
优选地,设备A和B保证它们的撤销与授权信息(RAI)是最新的(例如,通过彼此同步RAI,或在网络上与某些其他服务同步)。RAI是数据结构(例如,列表),其标识了被授权参与安全链路的设备和PCS,并标识已被撤销的设备。撤销与授权列表可通过诸如光盘之类的物理发送介质、通过(公共)广播、和其他方式发送给设备A和设备B。另外,两个通信设备可以交换它们的RAI。两个设备A和设备B优选在接受进一步传输之前,对照RAI检查每个证书。PCS优选不包含在此处理中以便保持低成本。
实验结果(图3中所述)示出了对于家庭网络中设备而言阈值301存在往返时间之间的区别,以及不是都处于相同家庭网络中的设备之间的往返时间。
往返时间由诸多因素确定,包括传输的物理长度、连接中的中间跳越和路由器的数量。
对于短距离连接,跳跃和路由器是往返时间的主要影响因素,而往返时间形成了对连接长度的良好估计。
随着PCS和第一设备之间距离的增大,传输链路的长度和网络元件(路由器、调制解调器、网络接口、集线器、交换机等)的数量都增大。这些影响将致使往返时间增大。例如,图3示出了可被用于清楚地区分局域网内链路和从局域网节点到局域网外节点链路的RTT测量。
虽然用于测量短距离连接的往返时间主要由于路由器的延迟造成,然而仍可使用往返时间作为区分住宅内连接和住宅外连接的测量。实验已经表明了局域网延大约为每个路由器步骤0.1ms,而到外部网络的WAN连接至少引入10ms的延迟。甚至,本地WiFi链路只增加大约3ms延迟。因此,网络内的通信延迟和与局域网外设备的通信延迟之间存在明显的区别。只有当家庭网络具有高网络负荷时,家庭网络中设备之间的往返时间才可能大于阈值。因此,在高网络负荷的情况下,验证就可能失败,但是在这种情况下,无论如何,共享内容是不可能的或者无法合乎需要。
图4A说明包括往返时间测量的SAC协议的第一实施例。设备A201和设备B202以及PCS203每个都具有设备证书Certx(X=A,B,PCS),其通过密钥发行中心(KIC)的签名担保设备的身份IDx和公钥Kpub,x。另外,每个设备包括与它们经过证明的公钥有关的私钥。在此第一实施例中只使用了公钥密码。
时间线400示出了这些设备之间的通信。设备A可能通过使用它的RAI来选择PCS并启动安全链路建立协议。为此,设备A在通信步骤401发送它的设备证书CertA和其选择的PCS身份IDPCS到设备B。证书看起来可能像CertA=signKIC(IDA||Kpub,A||...)。作为响应,设备B在步骤402发送它自己的证书,并优选地确认PCS身份。
设备A和设备B都验证接收到的证书具有有效的KIC签名。如果任一签名是假的,则A和/或B可以决定中断协议。另外,A可以保证B被授权参与安全链路。为此,A利用它的RAI来验证B被授权。如果B没有被授权,则A中断协议。
为了启动往返时间(RTT)测量协议,设备A在传输步骤411发送它的证书CertA,向PCS标识它自己。该传输优选地包括随机数NA(nonce),以及可选择地包括到已标识PCS进行测量的请求数量MA。nonce允许在邻近性证书中验证测量结果的最新性。
随后,PCS验证接收到的证书具有有效的KIC签名,从而它可信任设备A的身份。如果签名是假的,则PCS中断该协议。为了准备RTT测量,PCS在通信步骤412用一对随机数R1和R2来响应,这对随机数使用A的公钥进行加密,例如Kpub,A(R1||R2)。因此,PCS保证只有A可获得这些数字(因此信任A的身份)。R1和R2将被用于开始和停止RTT测量。
设备A在通信步骤413解密消息并返回R1,在这之后,PCS在步骤414返回第三个随机数R3。一旦接收到R3,设备A立刻在通信步骤415向PCS传输(R2R3)。PCS测量发送随机数R3和接收结果(R2R3)之间的时间作为对往返时间的估计。
可选择地,通信步骤412~415可以重复,以便执行多个往返时间测量,从中可以计算出例如最小、平均和最大往返时间测量,以及失败测量的数量。重复的数量可以预先确定或者已经在步骤411中被传输。
在PCS已经验证返回值的确是预期值(R2R3)之后,其生成信息RTTA,其包括关于(一个或多个)往返时间测量的信息。关于往返时间测量RTTA的信息可能因此包括与单个往返时间测量有关的信息,但也可能包括(如果采取多个往返时间测量)最小、平均和最大往返时间,并可选择地,可能包括失败测量的数量。
信息RTTA可能包括实际的已测量距离,但是作为替代,它还可以包括对于距离是否低于预定阈值或者低于由设备A设置并在例如通信步骤411向PCS传输的阈值这样的问题的答复。在后面两种情况下,阈值应该优选是邻近性证书的一部分。
随后,PCS生成签名的邻近性证书PCertA=signPCS(NA||IDA||RTTA),PCertA包括设备A的身份IDA、以及有关(一个或多个)往返时间测量RTTA的信息。优选地,证书还包括nonce NA,如果它在通信步骤411中被包含的话。邻近性证书由PCS用它的秘密密钥来签名,随后签过名的邻近性证书在步骤416向设备A传输,作为PCS与设备A之间往返时间的凭据。优选地,PCS自己的设备证书也向设备A传输。此设备证书允许设备A验证PCS证书的签名,并随后验证邻近性证书的检查服务器签名。
此协议的优点在于,对于每个测量,PCS除了执行一个公钥操作外,还必须执行至多一个私钥操作。这保持了PCS尽可能的便宜。
在此协议的变形中,在重复的测量中不执行通信步骤412,但是作为替代,第一通信步骤412发送随机数发生器的种子(替代每个通信步骤412中单个的随机数)。
使用相同的往返时间测量协议,设备B还能够获得设备B与PCS之间距离的邻近性证书。这在步骤421~426中说明。邻近性证书取回协议421~426可以在协议步骤411~416之前、之后或期间执行。取回(一个或多个)邻近性证书可在SAC协议开始401~402之后按需要来执行,或者作为定期请求邻近性证书的独立处理的一部分来执行。
当两个设备A和设备B都已经获得了它们的邻近性证书时,它们可以继续认证与密钥交换协议(可选择地,如果步骤401~402在步骤411~416/421~426之后而不是之前被执行了,则协议此刻开始)。为此,设备A在步骤403向设备B发送消息,该消息优选根据ISO/IEC11770-3标准被格式化。除必需遵循的字段(身份IDA、密钥成分KA、和nonce N1)外,A包括PCS的身份IDPCS,其被用于RTT测量;往返时间RTTA,其包含在最新的邻近性证书中;以及,撤销和授权信息的标识符RAIA(例如生成或者版本号),其已经用于验证设备B的证书。设备B在步骤404用类似的消息进行响应,设备A在步骤405向设备B返回nonce N2。
随后,两个设备都验证接收到的(一个或多个)消息的格式,并且一旦发生错误,则中断协议。另外,设备A可以保证设备B已经使用与它本身具有的相同的PCS来执行RTT测量。一旦发生错误,则任何设备都可以中断协议。最后,设备A(和/或设备B)验证RTTA和RTTB的组合依从某些标准,例如RTTA和RTTB每个都低于预定阈值,或者RTTA和RTTB之和低于预定阈值。如果不是这种情况,设备A(和/或设备B)判断到B的距离太大,并且中断协议。当安全链路建立时,KA和KB的任何组合可被用于形成会话密钥(例如,只使用KA,或者使用KA和KB的散列)。
在此实施例的变形中,邻近性地检查服务器包括具有有限范围的无线通信设备(261),因此只有装备了处于邻近性检查服务器所能及的范围内的兼容通信设备(262)的本地设备(或连接到这种本地设备的设备),将能获得邻近性地证书或者距离证书。为了加强邻近性检查,优选还执行不同方法的距离测量,例如往返时间测量。
用图4B说明了包括往返时间测量的SAC协议的第二实施例。在此实施例中,在步骤461~464(对应471~474)中执行简化的往返时间测量,而协议的其余部分与第一实施例中的相同。
步骤461等同于初始的步骤411。为了启动往返时间(RTT)测量协议,设备A在通信步骤461发送它的证书CertA,向PCS标识它自己。优选地,该通信包括随机数NA(nonce),以及可选择地包括到已标识PCS进行测量的请求数量MA。nonce允许测量的新鲜度验证导致邻近性证书。
随后,PCS验证接收到的证书具有有效KIC签名,从而它可信任设备A的身份。如果签名是假的,则PCS中断该协议。为了执行RTT测量,PCS在通信步骤462用随机数R1来响应。一旦接收到R1,设备A就签名该随机数,并且在通信步骤463返回它。可选择地,通信步骤462~463可以重复,以便执行多个往返时间测量,从中可以计算出例如最小、平均和最大往返时间测量,以及失败测量的数量。重复的数量可以预先确定或者已经在步骤461中被传输。
在测量被执行之后,PCS生成签名的邻近性证书PCertA=signPCS(NA||IDA||RTTA),而签名的邻近性证书包括设备A的身份IDA、以及有关(一个或多个)往返时间测量RTTA的信息。优选地,证书还包括nonce NA,如果它在通信步骤461被包含的话。邻近性证书由PCS用它的秘密密钥来签名,随后签过名的邻近性证书在步骤464向设备A传输,作为PCS与设备A之间往返时间的凭据。优选地,PCS自己的设备证书也向设备A传输。
此协议的其余部分被与第一实施例所陈述的相同。
图5说明了包括往返时间测量的SAC协议的第三实施例。在此第三实施例中,设备A和设备B使用公钥的密码系统,而PCS只使用对称密码的密码系统。该协议除用步骤511~518(和521~528)代替步骤411~416(和421~426)外,以及除附加的步骤505~508的需求外,与前述相同。
为了启动往返时间(RTT)测量协议,设备A在通信步骤511发送nonce N1,以及可选择地,发送到已标识PCS进行测量的请求数量MA。随后,PCS在步骤512向它返回标识符IDPCS。设备A用IDPCS搜索其与PCS共享的密钥Kroot的密钥块。设备A可以与不同的PCS共享不同的密钥。因此,PCS可与不同的设备共享不同的密钥。在步骤513,设备A返回Kroot(IDA)||j||KPCS,j(Kroot),其中包括它的使用根密钥加过密的标识符IDA和使用PCS的第j个设备密钥KPCS,j加过密的根密钥本身。假定Kroot(IDA)包含足够的PCS冗余码,以便确定它已经接收了正确的IDA。例如,IDA的例如40个比特补充了已知的值,以便达到加密算法的块大小。在步骤514,PCS返回使用根密钥加密的两个随机值Kroot(R1||R2)。随后,在步骤515,设备A在解码后返回第一随机数R1,以便通知它已准备好进行往返时间测量。PCS在步骤516发送第三随机数R3,并为往返时间的测量启动计时器。设备A一旦接收,就在步骤517立刻返回R2和R3的异或逻辑值。PCS停止计时器,完成该往返时间的测量,并验证其结果如同期望的那样。可以重复步骤514~517,以便搜集关于往返时间的统计值。在步骤518,PCS返回nonce N1、有关已测量的(一个或多个)往返时间RTTA的信息,和邻近性证书PCertA,全部这些都用根密钥加过密。nonce N1的包含(被包含到通信中且用根密钥进行加密,以及可选择地,还被包含到邻近性证书)还保证邻近性证书的最新性,因为这样选择加密格式,即用N1的篡改损坏了邻近性证书。邻近性证书PCertA=KPCS(N1||IDPCS||IDA||RTTA)包含PCS的身份IDPCS、设备A的身份IDA以及有关已测量的(一个或多个)往返时间RTTA的信息。邻近性证书用对PCS唯一的密钥来加密。
在步骤521~528中,设备B和PCS之间执行了类似的协议。
当两个设备A和设备B都已经获得了它们的邻近性证书时,它们可以开始或者继续认证与密钥交换协议。在步骤503,设备A向设备B发送优选根据ISO/IEC11770-3标准格式化的消息,包括身份IDB、新的nonce NB、都用B的公钥加密的身份IDA和密钥成分KA、设备B的身份证书,以及可选择地,还包括RAI。设备B在步骤504用类似消息进行响应。
由于邻近性证书由PCS用对称密码系统加密,而接收设备没有该密钥,所以设备A在步骤505向PCS传输设备B的邻近性证书和nonceN3。PCS验证了它是创建邻近性证书的nonce,并在步骤506连同nonceN3一起,返回来自该信息的有关信息,所有这些都使用可用的根密钥进行加密,因此设备A可以解密并验证此信息。
随后,两个设备都验证接收到的(一个或多个)消息的格式,并且一旦发生错误,则中断协议。另外,设备A可以保证设备B已经使用与它本身具有的相同的PCS来执行RTT测量。一旦发生错误,任何设备可以中断协议。最后,设备A(和/或设备B)验证RTTA和RTTB中的组合信息依从某些标准,例如RTTA和RTTB每个都低于预定阈值,或者RTTA和RTTB之和低于预定阈值。如果不是这种情况,设备A(和/或设备B)判断到B的距离太大,并且中断协议。当安全链路建立时,KA和KB的任何组合可被用于形成会话密钥(例如,只使用KA,或者使用KA和KB的散列)。
图6说明了包括用两个不同PCS进行往返时间测量的SAC协议的第四实施例。虽然此图示出了与第一实施例相同的协议,也可以使用其他的协议。对于两个不同PCS(PCS1203和PCS2204)的使用,其中PCS2类似于PCS1,但是位于不同的位置。这些处于两个不同位置的PCS允许更精确地确定两个设备的位置和/或距离。另外,被设备A和B应用的规则必须考虑使用两个PCS,例如通过具有允许PCS的(一个或多个)组合的表。
图7说明了包括用两个不同PCS进行往返时间测量的SAC协议的第五实施例,其生成距离证书而不是邻近性证书。在此实施例中,PCS在步骤701~703(或往返时间测量协议的更复杂版本的更多步骤)执行返时间测量协议,以便确定PCS之间的距离。如果此距离因为PCS位于固定的位置而已知,或因为PCS的位置原本定义了允许设备位于其中的范围(与设备之间的实际距离无关)而已知,则这些步骤可以省略。
在步骤704,PCS1向PCS2传输PCS1和设备A之间的距离,此距离允许PCS2计算出设备A和设备B之间的距离。代替邻近性证书的是,距离证书在步骤426被返回,其规定了关于距离的信息(例如,距离本身,或者只是它是否低于特定阈值)。
步骤705如步骤704一样工作,但是方向相反。在某些应用中,步骤704和705中只有一个步骤需要被执行。
替换是可能的,包括来自不同的权利要求的特征组合。在上述描述中,“包括”不排除其他元件或者步骤,“一”或者“一个”不排除多个,并且单个处理器或者其他单元也可以满足权利要求中所述的若干装置的功能。
权利要求
1.用于确定第一设备(201)和第二设备(202)之间允许的通信等级的方法,包括下列步骤第一邻近性检查服务器(203),执行与第一设备的通信协议,以便可靠地确定第一邻近性检查服务器和第一设备之间的第一距离;第二邻近性检查服务器(204),执行与第二设备的通信协议,以便可靠地确定第二邻近性检查服务器和第二设备之间的第二距离;确定第一确定距离和第二确定距离是否满足预定规则;以及确定第一设备与第二设备之间允许的通信等级。
2.根据权利要求1所述的方法,其中,第一邻近性检查服务器通过测量通信协议中的往返时间来估计第一距离。
3.根据权利要求1所述的方法,其中,第一和第二邻近性检查服务器是相同的邻近性检查服务器。
4.根据权利要求1所述的方法,其中,当且仅当下列距离之和低于预定阈值才满足所述预定规则第一确定距离,以及第二确定距离,以及邻近性检查服务器之间的距离。
5.根据权利要求1所述的方法,其中,如果第一确定距离和第二确定距离都低于预定阈值,则满足预定规则。
6.根据权利要求1所述的方法,其中,使用一组多个邻近性检查服务器。
7.根据权利要求1所述的方法,其中,第一邻近性检查服务器位于网络中的分配点。
8.根据权利要求1所述的方法,其中,确定第一设备与邻近性检查服务器之间的第一距离的挑战响应协议,是第一设备与邻近性检查服务器之间认证协议的一部分。
9.根据权利要求1所述的方法,还包括下列步骤第一邻近性检查服务器生成包括第一确定距离的第一邻近性证书;以及第二邻近性检查服务器生成包括第二确定距离的第二邻近性证书。
10.根据权利要求9所述的方法,还包括下列可能重叠的步骤第一设备从第一邻近性检查服务器请求第一邻近性证书;第二设备从第二邻近性检查服务器请求第二邻近性证书,跟随有下列步骤第一设备向第二设备传输第一邻近性证书,以及第二设备检验来自第一邻近性证书的第一确定距离以及来自第二邻近性证书的第二确定距离是否满足预定规则。
11.根据权利要求9所述的方法,还包括下列可能重叠的步骤第二设备从第一邻近性检查服务器请求第一邻近性证书;第二设备从第二邻近性检查服务器请求第二邻近性证书;跟随有下列步骤第二设备检验来自第一邻近性证书的第一确定距离和来自第二邻近性证书的第二确定距离是否满足预定规则。
12.根据权利要求9所述的方法,其中,所述邻近性证书包括执行距离测量时的信息。
13.根据权利要求9所述的方法,其中第一设备在从第一邻近性检查服务器请求第一邻近性证书的步骤中添加随机数,以及邻近性检查服务器在生成邻近性证书的步骤中给第一邻近性证书添加所述随机数。
14.根据权利要求1所述的方法,还包括下列步骤第一邻近性检查服务器基于第一邻近性检查服务器与第一设备之间的距离以及所述检查服务器的第二末端与第二设备之间的距离,确定第一设备与第二设备之间的距离;第一邻近性检查服务器生成距离证书,该距离证书包括关于第一设备与第二设备之间距离的确定信息。
15.根据权利要求14所述的方法,还包括至少第一设备和第二设备其中之一执行的下列步骤从邻近性检查服务器请求第一和第二设备之间距离的距离证书;从邻近性检查服务器取回距离证书;检验所述距离是否低于预定阈值。
16.根据权利要求14所述的方法,还包括至少第一设备和第二设备其中之一执行的下列步骤请求邻近性检查服务器对照预定阈值检验已确定的第一和第二设备之间的距离,邻近性检查服务器针对此请求生成答复;从邻近性检查服务器中取回答复。
17.根据权利要求14所述的方法,其中,所述距离证书包括执行距离测量时的信息。
18.根据权利要求14所述的方法,其中第一设备在从第一邻近性检查服务器请求距离证书的步骤中添加随机数,以及邻近性检查服务器在生成距离证书的步骤中向距离证书添加所述随机数。
19.根据权利要求1所述的方法,其中,距离确定需要在无线链路上的通信。
20.根据权利要求1所述的方法,其中第一设备请求第一邻近性检查服务器建立第一设备与第二设备之间的连接;如果从第一邻近性检查服务器到第一设备的距离和从第二邻近性检查服务器到第二设备的距离满足预定规则,则第一邻近性检查服务器建立连接。
21.用于能够确定第一设备(201)和第二设备(202)之间允许的通信等级的邻近性检查服务器(203),包括发送装置(211),被安排成在与至少第一设备和第二设备其中之一的通信协议(200)期间发送消息;接收装置(212),被安排成在所述通信协议期间接收消息;抗篡改处理装置(213),被安排成执行所述通信协议;抗篡改测量装置(214),被安排成在执行所述通信协议时测量距离;抗篡改处理装置还被安排成生成距离证书和邻近性证书中的至少一种,以及抗篡改签名装置(216),被安排成在距离证书和邻近性证书中的至少一种上加密签名。
22.根据权利要求21所述的邻近性检查服务器,还包括抗篡改估计装置(215),被安排成基于往返时间估计距离。
23.根据权利要求21所述的邻近性检查服务器,其中,邻近性检查服务器被集成在网络设备中。
24.根据权利要求21所述的邻近性检查服务器,其中,邻近性检查服务器被实现为加密狗。
25.包括与网络相连的第一设备(201)、第二设备(202)以及抗篡改的邻近性检查服务器(203)的系统,其中,邻近性检查服务器被安排成使用根据权利要求1所述的方法来检验到第一和第二设备的距离。
26.根据权利要求25所述的系统,其中,第一设备和第二设备中的至少一个设备被实现为运行在可编程设备上的软件应用。
27.计算机程序产品(208),用于能够确定第一设备(201)和第二设备(202)之间允许的通信等级,供邻近性检查服务器使用,具有使邻近性检查服务器的可编程设备根据权利要求19执行下列步骤的计算机可执行指令执行与第一设备的通信协议,以便可靠地确定第一往返时间;估计第一邻近性检查服务器与第一设备之间的第一距离,以及生成包括基于第一确定距离的信息的证书。
28.根据权利要求27所述的计算机程序产品,其中,所述证书是包括第一确定距离的第一邻近性证书。
29.根据权利要求28所述的计算机程序产品,还具有下列指令执行与第二设备的通信协议,以便可靠地确定第二往返时间;基于第二往返时间,估计邻近性检查服务器与第二设备之间的第二距离,以及生成包括基于第一设备与第二设备之间距离的信息的证书。
30.计算机程序产品(207),用于能够确定第一设备(101)和第二设备(102)之间允许的通信等级,供第一设备使用,具有使可编程设备执行下列步骤的计算机可执行指令从邻近性检查服务器为第一设备本身请求第一邻近性证书;从第二设备和邻近性检查服务器中至少一个为第二设备请求第二邻近性证书;根据预定规则,检验第一邻近性证书和第二邻近性证书,以及根据规则是否被满足来确定允许的通信等级。
全文摘要
本发明提供一种用于确定在例如家庭网络中的设备(201,202)之间允许的通信等级的方法、邻近性检查服务器(203)、系统(200)、和计算机程序产品(207)。通过添加一个或多个抗篡改的设备,所谓的邻近性检查服务器(203,204),测量往返时间来估计设备之间的距离,以便确定这些设备之间允许的通信量。在具体实施例中,单个抗篡改的邻近性服务器计算通信设备之间的距离,而所述通信设备被实现为开放平台上的可信应用。
文档编号H04L29/06GK101023651SQ200580031426
公开日2007年8月22日 申请日期2005年9月5日 优先权日2004年9月17日
发明者C·L·C·M·克尼贝勒, A·A·M·斯塔林, M·A·特勒弗斯, E·D·L·M·弗里莫特, J·A·C·伯恩森 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1