内容中心网络的制作方法

文档序号:7791729阅读:259来源:国知局
内容中心网络的制作方法
【专利摘要】披露了内容中心联网的方法、客户端、服务器及计算机程序产品。在内容中心网络的客户端与服务器之间建立用于数据包流传输的安全会话的方法包括步骤:在服务器与客户端之间交换第一名称空间部分指示;从第一名称空间部分指示获取第一名称空间部分;将第一名称空间部分并入由客户端发往服务器的对数据包流中第一数据包的第一请求的第一名称空间;获取后续名称空间部分,后续名称空间部分基于第一数据包的传输,后续名称空间部分与第一名称空间部分不同;并且将后续名称空间部分并入由客户端发往服务器的对数据包流中后续数据包的后续请求的后续名称空间。采用这种方法,每个数据包的名称空间发生改变并且与先前的数据包有关,这样的从一个到另一的名称空间菊花链在传输后续数据包时不需要在两个节点之间进行任何额外的身份验证。只要客户端与服务器两者均得出用于每个后续数据包的正确的名称空间,那么就可以假定位于客户端和服务器之间的会话还是安全的,这明显提高了性能同时维持了安全性。
【专利说明】内容中心网络

【技术领域】
[0001] 本发明涉及内容中心联网的方法、客户端、服务器以及计算机程序产品。

【背景技术】
[0002] 内容中心网络是众所周知的。在这样的内容中心网络中,提供了用于在数据网络 中递送内容的路由范式。特别地,对内容的请求是对内容中心网络中的网络节点做出的,并 且如果接收到所述请求的网络节点拥有所述内容的本地副本,那么该副本将被路由回发起 请求的节点。但是,如果网络节点没有那个内容,那么该请求被通过网络公布直至该内容被 返回或者,如果没有内容被返回,向发起请求的节点提供错误消息。通常,如果后续做出对 所述内容的请求,那么随着所述内容回传给请求节点,该内容的副本可被网络节点存储在 本地以便使它们拥有可访问的所述内容。
[0003] 虽然这样的方法能够提供内容,但是这并非没有其自身的缺点。
[0004] 因此,有提供改进地用于内容中心网络的技术的需求。


【发明内容】

[0005] 依照第一方面,提供了在内容中心网络中建立客户端和服务器之间的用于数据包 流传输的安全会话的方法,所述方法包括如下步骤:在服务器与客户端之间交换第一名称 空间部分指示;从第一名称空间部分指示获取第一名称空间部分;将所述第一名称空间部 分并入从客户端发往服务器的对数据包流第一数据包的第一请求的第一名称空间;获取后 续名称空间部分,所述后续名称空间部分基于所述第一数据包的传输,所述后续名称空间 部分与第一名称空间部分不同;以及将所述后续名称空间部分并入从客户端发往服务器的 对数据包流后续数据包的后续请求的后续名称空间。
[0006] 所述第一方面承认现有内容中心组网方案存在问题,即虽然它们通常十分强调安 全性,但这常常要求全部网络包使用公共密钥基础设施加密系统进行签名。虽然这允许网 络鉴别每一个包的来源,由于非对称加密非常缓慢,这影响到了性能。
[0007] 为了缓和该问题,所述第一方面认识到可通过在内容中心网络中实施安全会话以 提高性能,安全会话在两个网络节点之间进行数据包流的传输,其只在会话的开始执行一 次身份验证,并且这样就无需对单独的数据包进行签名。
[0008] 当在内容中心网络中建立安全会话时,各通信方通常需要就名称空间一它们可 在那里交换信息一达成一致。在服务器端,所述名称空间用来识别输入包属于给定的会 话。知道输入的包属于哪个会话通常允许服务器对解密所述数据包所需的密钥进行检索。
[0009] 通过使用仅与单个客户端共享的密钥,服务器可在随后隐含地识别发送方的身份 是否为唯一的可访问密钥的其它网络节点。除了作为这样的所述安全会话的识别符,名称 空间的特定格式使得交换的数据没有直接的相关性并且可以基于多种不同的原则进行选 择。
[0010] 通过使用下述名称空间选择技术,可达到相对于其它名称空间选择方案的多个优 点,包括相关会话流量的去相关以及消除在会话建立机制上执行重播攻击的任何可能性。 [0011] 这样,提供了在客户端与服务器之间建立安全会话的方法。第一名称空间部分指 示可在所述客户端和服务器之间进行交换。第一名称空间部分可从所述指示中获得。第一 名称空间部分可并入由客户端发出的对由服务器发出的第一数据包的请求相关的第一名 称空间。与第一名称空间部分不同的后续名称空间部分可随后获得。所述后续名称空间部 分可在随后并入对由服务器发出的后续数据包的后续请求。
[0012] 这样,可以确定位于客户端与服务器之间与第一数据包关联的名称空间。与后续 数据包相关联的名称空间可随后由客户端与服务器根据第一数据包的传输来获得。采用这 种方法,每个数据包的名称空间发生改变并且与先前的数据包有关,这样的从一个到另一 个的名称空间菊花链在传输后续数据包时不需要在两个节点之间进行任何额外的身份验 证。而是,每个后续数据包的名称空间均可以先前的数据包作为基础来获得。只要客户端 与服务器两者均获得用于每个候选数据包的正确的名称空间,那么就可以假定位于客户端 和服务器之间的会话还是安全的,这明显提高了性能同时维持了安全性。另外,由于名称空 间对于每个数据包的变化表现为很大程度上的随机方式,这使得拦截节点难以确定在内容 中心网络上传输的哪些数据包是相关的,另外由于每个后续数据包仅在先前数据包进行传 输后被分配名称空间,这使得对于第三方来说难以访问所述数据流或执行重播攻击。
[0013] 在一个实施例中,第一名称空间部分指示包括服务器与客户端之间共享的加密密 钥,并且所述第一名称空间部分从该加密密钥获得。这样,可以使用已知的没有密钥的技术 "公开"(也就是说,在非安全通信中公开或易于获得)完成加密密钥被服务器和客户端的 共享。随后客户端和服务器两者均可从该安全加密密钥中获取第一名称空间部分。
[0014] 在一个实施例中,第一名称空间部分指示包括服务器和客户端共享的加密密钥, 并且所述第一名称空间部分从在客户端和服务器之间共享的哈希函数获得,该哈希函数被 施加至所述加密密钥。因此,比起简单地从该加密密钥本身获取名称空间部分,还利用哈希 函数来进一步复杂化第一名称空间部分的获取,所述第一名称空间部分通过施加哈希函数 至加密密钥来获得。需要指出所述哈希函数的共享可通过与加密密钥的共享相同的方式完 成已保证所述哈希函数不被公开。
[0015] 在一个实施例中,第一名称空间部分指示包括被服务器与客户端之间共享的加密 密钥加密的第一名称空间部分,并且所述名称空间部分通过使用所述加密密钥解密第一名 称空间部分指示得出。这样,第一名称空间部分可以加密的形式在服务器与客户端之间传 输,每一个均能够通过使用加密密钥解密来得出名称空间部分。
[0016] 在一个实施例中,后续名称空间部分指示包括被服务器与客户端之间共享的加密 密钥加密的第一数据包,并且后续名称空间部分从第一数据包获得。这样,后续名称空间部 分可通过解密第一数据包得出。
[0017] 在一个实施例中,后续名称空间部分通过使用加密密钥解密第一数据包由第一数 据包获得。因此,后续名称空间部分可被第一数据包编码和加密。为了获取后续名称空间 部分,所述数据包被解密和解码以展示出后续名称空间部分。这有助于在安全会话中提供 保证,因为后续名称空间的获得需要基于正确地接收和解码先前的数据包。只要每个先前 数据包均正确地接收、解密和解码,那么就可以得出后续数据包的名称空间。另外,这可以 暗示安全会话没有被盗用或中断,同时不断地发送对每个后续名称空间的请求。
[0018] 在一个实施例中,后续名称空间部分从施加至第一数据包的哈希函数获得。再一 次,通过利用哈希函数,后续名称空间部分的完整性得到提高。
[0019] 在一个实施例中,后续名称空间部分从施加至第一数据包和第一名称空间部分的 哈希函数获得。再一次地,通过利用哈希函数,后续名称空间部分的完整性得到提高。
[0020] 在一个实施例中,第一名称空间包括随机值和从伪随机序列值中选出的值之一。 通过根据从服务器和客户端之间交换的所述指示中获取的随机值得出第一名称空间部分, 与第一数据包相关的名称空间难以预测。同样地,由可从服务器和客户端之间交换的所述 指示中获得的从伪随机序列中选出的值得出第一名称空间部分,加上初始名称空间仅可被 客户端和服务器获取,从而使的安全会话成为可能。需指出在一个实施例中通过使用先前 交换过的加密函数E以及密钥k,可以提供可预测的伪随机数生成器。如果起始点X已协商 一致就对其进行迭代加密,其将从E_k(x)演进至E_k(E_k(x))至E_k(E_k(E_k(x)))并以 此类推,当E、k以及X未知时,这看起来完全是随机的。同样地,可以使用哈希函数来替代 E_k()。起始点X可以为任何事物,例如密钥k本身。在一个实施例中,后续名称空间部分 包括其它的随机值和其它的在伪随机值序列中选出的值之一。这样,后续的名称空间部分 可以为另一个随机值。该随机值可基于或从第一数据包的传输获得。例如,该随机值可并 入第一数据包或者可能为例如所述数据包中特定的比特组。这样后续的名称空间部分可由 先前数据包得出。备选地,后续名称空间部分可为另一个由伪随机值序列中选出的值。再 一次地,该值可为伪随机值序列中预先协商好的偏置或可被先前数据包所指出。再一次地, 这提供了安全会话的建立并使得对第三方来说难以预测所述安全会话的下一个名称空间。
[0021] 在一个实施例中,所述方法包括获取后续名称空间部分的步骤,后续名称空间部 分与先前的名称空间部分不同;并且将后续名称空间部分并入由客户端至服务器对数据包 流后续数据包的后续请求的后续名称空间。这样,与每个后续请求相关的名称空间都可以 基于先前的数据包,那些名称空间部分中的每一个均与先前的名称空间部分所不同以提高 所述安全会话的完整性。
[0022] 在一个实施例中,每个对数据包流中数据包的请求的名称空间至少包括内容提供 者标识符、包括名称空间部分的安全会话标识符或内容标识符之一。因此,所述名称空间可 包括提供者标识符、包括名称空间部分的安全会话标识符、或内容标识符。
[0023] 在一个实施例中,所述方法包括对于那些内容标识符不变的对数据包流中后续数 据包的请求的名称空间,施加由客户端和服务器共享的盐函数至内容标识符以提高其可变 性的步骤。因此,加盐程序可施加至所述请求或至所述请求的部分以提高并入所述名称空 间的值的可变性。典型地,加盐程序可施加至内容标识符以便降低第三方能够按照与会话 的关系将不同请求相互关联的可能性,所述会话用于传输关于一些内容的数据包序列。
[0024] 依照第二方面,提供了用于在内容中心网络的服务器与客户端之间建立安全会话 以传输数据包流的客户端,所述客户端包括:交换逻辑,用于在服务器与客户端之间交换第 一名称空间部分指示;获取逻辑,用于从第一名称空间部分指示获得第一名称空间部分并 且将第一名称空间部分并入发往服务器的对数据包流中第一数据包的第一请求的第一名 称空间,所述获取逻辑可进一步用于得出后续名称空间部分,所述后续名称空间部分基于 所述第一数据包的传输,所述后续名称空间部分不同于所述第一名称空间部分并且将所述 后续名称空间部分并入发往服务器的对数据包流中后续数据包的后续请求的后续名称空 间。
[0025] 在一个实施例中,所述第一名称空间部分指示包括被客户端和服务器共享的加密 密钥并且获取逻辑用于从该加密密钥中得到第一名称空间部分。
[0026] 在一个实施例中,所述第一名称空间部分指示包括被客户端与服务器之间共享的 加密密钥,并且获取逻辑用于从施加到该加密密钥上的被客户端和服务器共享的哈希函数 中得到第一名称空间部分。
[0027] 在一个实施例中,第一名称空间部分指示包括被客户端与服务器之间共享的加密 密钥加密的第一名称空间部分,并且获取逻辑用于通过使用该加密密钥解密该第一名称空 间部分指示以得到第一名称空间部分。
[0028] 在一个实施例中,后续名称空间部分指示包括被客户端与服务器之间共享的加密 密钥加密的第一数据包,并且获取逻辑用于由第一数据包得出后续名称空间部分。
[0029] 在一个实施例中,获取逻辑用于通过使用加密密钥解密第一数据包由第一数据包 得出后续名称空间部分。
[0030] 在一个实施例中,获取逻辑用于由施加至第一数据包的哈希函数得出后续名称空 间部分。
[0031] 在一个实施例中,获取逻辑用于从施加至第一数据包和第一名称空间部分的哈希 函数得出后续名称空间部分。
[0032] 在一个实施例中,第一名称空间部分包括随机值和从伪随机序列值中选出的值之 〇
[0033] 在一个实施例中,后续名称空间部分包括另一个随机值和从所述伪随机序列值中 选出的另一个值之一。
[0034] 在一个实施例中,获取逻辑用于获取后续名称空间部分,所述后续名称空间部分 不同于先前的名称空间部分并且将所述后续名称空间部分并入从客户端发往服务器的对 数据包流中后续数据包的后续请求的后续名称空间。
[0035] 在一个实施例中,每个对数据包流的数据包的请求的名称空间包括内容提供者标 识符、包括名称空间部分的安全会话标识符以及内容标识符中的至少一个。
[0036] 在一个实施例中,对于那些内容标识符不变的对数据包流中后续数据包的请求的 名称空间,获取逻辑用于施加由客户端和服务器共享的盐函数至内容标识符以提高其可变 性。
[0037] 依照第三方面,提供了用于在内容中心网络中服务器与客户端之间建立用于数据 包流传输的安全会话的方法,所述方法包括步骤:在服务器与客户端之间交换第一名称空 间部分指示;从第一名称空间部分指示得到第一名称空间部分;将第一名称空间部分并入 与数据包流中第一数据包相关的第一名称空间;获取后续名称空间部分,所述后续名称空 间部分基于所述第一数据包的传输,所述后续名称空间部分不同于所述第一名称空间部 分;并且将所述后续名称空间部分并入与数据包流中后续数据包相关的后续名称空间。
[0038] 在一个实施例中,所述第一名称空间部分指示包括被客户端和服务器共享的加密 密钥,并且由所示加密密钥得出第一名称空间部分。
[0039] 在一个实施例中,所述第一名称空间部分指示包括被客户端和服务器共享的加密 密钥,并且第一名称空间部分从施加到该加密密钥上的被客户端和服务器共享的哈希函数 获得。
[0040] 在一个实施例中,第一名称空间部分指示包括被客户端与服务器之间共享的加密 密钥加密的第一名称空间部分,并且第一名称空间部分通过使用所述加密密钥解密所述第 一名称空间部分指示而获得。
[0041] 在一个实施例中,后续名称空间部分指示包括被客户端与服务器之间共享的加密 密钥加密的第一数据包,并且后续名称空间部分可从所述第一数据包得出。
[0042] 在一个实施例中,可通过使用加密密钥解密第一数据包由第一数据包得出后续名 称空间部分。
[0043] 在一个实施例中,后续名称空间部分由施加至第一数据包的哈希函数得出。
[0044] 在一个实施例中,后续名称空间部分由施加至第一数据包和第一名称空间部分的 哈希函数得出。
[0045] 在一个实施例中,第一名称空间包括随机值和从伪随机序列值中选出的值之一。
[0046] 在一个实施例中,后续名称空间包括另一个随机值和从所述伪随机序列值中选出 的另一个值之一。
[0047] 在一个实施例中,所述方法包括获取后续名称空间部分的步骤,后续名称空间部 分与先前的名称空间部分不同;并且将后续名称空间部分并入与数据包流中后续数据包相 关的后续名称空间。
[0048] 在一个实施例中,每个对数据包流中数据包的请求的名称空间至少包括内容提供 者标识符、包括名称空间部分的安全会话标识符或内容标识符之一。
[0049] 在一个实施例中,所述方法包括施加与客户端共享的盐函数以及对数据包流中数 据包进行请求的步骤。
[0050] 依照第四方面,提供了用于在内容中心网络的服务器与客户端之间建立用于数据 包流传输的安全会话服务器,所述服务器包括:交换逻辑,用于在服务器与客户端之间交换 第一名称空间部分指示;获取逻辑,用于从第一名称空间部分指示得到第一名称空间部分; 合并逻辑,用于将第一名称空间部分并入与数据包流中第一数据包相关的第一名称空间; 所述获取逻辑用于得到后续名称空间部分,所述后续名称空间部分基于所述第一数据包的 传输,所述后续名称空间部分不同于所述第一名称空间部分;并且所述合并逻辑用于将所 述后续名称空间部分并入与数据包流中后续数据包相关的后续名称空间。
[0051] 在一个实施例中,所述第一名称空间部分指示包括被客户端和服务器共享的加密 密钥并且所述获取逻辑用于从该加密密钥中得到第一名称空间部分。
[0052] 在一个实施例中,所述第一名称空间部分指示包括被客户端和服务器共享的加密 密钥,并且所述获取逻辑用于从施加到该加密密钥上的被客户端和服务器共享的哈希函数 中得出第一名称空间部分。
[0053] 在一个实施例中,第一名称空间部分指示包括被由客户端和服务器共享的加密密 钥加密的第一名称空间部分,并且所述获取逻辑用于通过使用该加密密钥解密该第一名称 空间部分指示以得到第一名称空间部分。
[0054] 在一个实施例中,后续名称空间部分指示包括由服务器和客户端共享的加密密钥 加密的第一数据包,并且所述获取逻辑用于由第一数据包得出后续名称空间部分。
[0055] 在一个实施例中,所述获取逻辑用于通过使用加密密钥解密第一数据包由第一数 据包得出后续名称空间部分。
[0056] 在一个实施例中,所述获取逻辑用于从施加至第一数据包的哈希函数得出后续名 称空间部分。
[0057] 在一个实施例中,所述获取逻辑用于从施加至第一数据包和第一名称空间部分的 哈希函数得出后续名称空间部分。
[0058] 在一个实施例中,第一名称空间部分包括随机值和从伪随机序列值中选出的值之 〇
[0059] 在一个实施例中,后续名称空间部分包括另一个随机值和从所述伪随机序列值中 选出的另一个值之一。
[0060] 在一个实施例中,所述获取逻辑用于获取后续名称空间部分,所述后续名称空间 部分不同于先前的名称空间部分;并且所述合并逻辑用于将所述后续名称空间部分并入与 数据包流中后续数据包相关的后续名称空间。
[0061] 在一个实施例中,每个对数据包流的数据包的请求的名称空间包括内容提供者标 识符、包括名称空间部分的安全会话标识符以及内容标识符中的至少一个。
[0062] 在一个实施例中,所述服务器包括加盐逻辑,用于施加与客户端共享的盐函数并 对数据包流中数据包进行请求。
[0063] 依照第五方面,提供了当在计算机上执行时可用于实现第一和第三方面所述方法 步骤的计算机程序产品。
[0064] 附上的独立和从属权利要求列出了进一步详细和优选的内容。从属权利要求的特 征可酌情与独立权利要求的特征组合,并且与明确列出的权利要求之外的特征进行组合。 [0065] 在描述为可被操作以提供功能的装置特征之处,需指出这包括提供所述功能或者 适用于或被配置以提供所述功能的装置特征。

【专利附图】

【附图说明】
[0066] 现在参考附图对本发明的实施例进行进一步的描述,其中:
[0067] 图1A和图1B示出了依照实施例的名称空间;
[0068] 图2示出了依照一个实施例的内容中心网络;
[0069] 图3示出了依照一个实施例在内容中心网络上的安全会话中建立和传送内容时 的主要消息传送以及处理步骤;以及
[0070] 图4示出了依照一个实施例的名称空间菊花链。

【具体实施方式】
[0071] 概况
[0072] 在讨论实施例的任何详细细节之前,首先提供一个概况描述。提供用于在内容中 心网络中建立位于客户端与内容提供者之间的安全会话的技术。
[0073] 如图1A所示,典型地,内容中心网络的客户端以"兴趣包"形式发送请求至"名称 空间"来试图访问内容。虽然名称空间的准确格式可以是变化的,一般来说所述名称空间首 先包括识别内容中心网络协议的协议部分12。提供典型地识别内容源的内容提供者部分 14。最后,提供唯一地标识内容自身的内容标识符部分16。
[0074] 当接收到兴趣包时,内容中心网络中的接收网络节点将查找与该兴趣包相关的名 称空间并确定其是否拥有该内容的本地副本。如果没有,那么存在多种机制将所述兴趣包 传播到整个内容中心网络。
[0075] 当拥有所述内容的网络节点接收到兴趣包时,那么该内容将通过内容中心网络作 为数据包返回所述请求客户端,并且接收到所述内容的任意网络节点均可对是否它们希望 在它们的本地缓存中保存所述内容的副本进行评估。
[0076] 为了提高通过内容中心网络进行的任意数据传输的安全性,使用如图1B所示的 增强的名称空间排列l〇a。在该排列中,提供了包括多部分的内容标识符16a。第一部分18 识别与安全相关的名称空间或保留的名称空间。下面提到的会话识别符部分20被提供用 于随每个被传输的数据包而改变。进一步的部分22被提供用于唯一的识别被请求的内容。
[0077] 会话标识符部分20的值随会话中发送的每个兴趣包的不同而改变。每个兴趣包 的会话标识符部分20的值只有请求客户端和内容提供者知道。并且,即使客户端在不同时 间向服务器的同一内容进行请求,每个兴趣包的会话标识符部分20的值也很可能不同。因 为与所述内容相关联的名称空间是不同的并且仅被内容提供者和受信任的接受者所知道, 这提高了内容递送的安全性。此外,所述内容的每个后续部分的名称空间是不同的并且仅 在创建请求所述内容的兴趣包时被创建。这使得对于第三方来说访问内容是极其困难的, 并且即使它们能够接触到内容的一部分,对它们来说访问该内容的下一部分也是非常困难 的。此外,由于名称空间不断变化这一性质,即使内容被拦截,也难于识别是否该内容部分 与其他内容部分有关,因为在名称空间中通常没有明显的关于内容不同部分之间的任何关 系的指示。因此,这有效地提供了用于在内容中心网络中点对点地传输内容的安全机制。由 网络节点在它们缓冲中本地存储的任何内容终将被丢弃,如果这些内容将不被再次请求的 话。
[0078] 内容中心网络
[0079] 图2示出了依照一个实施例的内容中心网络。客户端30连接至由多个相互连接 的网络节点50组成的内容中心网络40。同样连接在内容中心网络40上的是与内容提供者 关联的服务器60,所述内容提供者提供内容至所述内容中心网络以此作为对接收到的对所 述内容的兴趣包的响应。
[0080] 如上所述,当客户端30请求来自内容中心网络40的内容时,客户端30通过发送 对与特定名称空间有关的所述内容的兴趣包来进行请求,如图1A和图1B所述。如果任何 网络节点40在它们的本地缓存中拥有该与所述名称空间有关的内容,那么该内容将作为 数据包提供给所述客户端30。
[0081] 如果没有网络节点50拥有用户兴趣包中与名称空间相关的内容,那么最终所述 兴趣包将传送至与名称空间中内容提供者部分14所列出的内容提供者相关的服务器60。
[0082] 所述服务器60将随后检出其名称空间70以确定是否其拥有与所述名称空间有关 的可用的内容。如果所述服务器60认为所述内容标识符部分16 ;16a与其名称空间70中 的记录(entry)相符,那么以数据包的形式提供所述相关的内容90。如果所述部分16,16a 与名称空间70中的任何记录都不匹配,那么没有内容可供提供并且可选地可以发送错误 消息。
[0083] 保留的名称宇间
[0084] 名称空间70的保留部分80被提供以利用其支持客户端30与服务器60之间的安 全会话。特别地,所述名称空间70的保留部分80中的记录被动态利用以支持所述安全会 话中的数据传输。特别地,当客户端30发送对内容的兴趣包时,所述安全部分80中的记录 被创建并且该记录与所述被请求的内容相关。
[0085] 但是,名称空间的记录是唯一的并且仅可被用于在安全会话中响应对特定内容的 请求。下面将对此做更详细的说明,该名称空间应该仅被所述客户端30和服务器60所知 道,并且不应该能够被其它任何网络节点所得到。此外,该名称空间在每次做出对内容的请 求时都应该不同,即使所述请求来自同一客户端并且涉及同一内容提供者的同一内容。 [0086] 通常使用一系列兴趣包来对内容进行请求,并且会话中与每个兴趣包相关的名称 空间都不同并仅被客户端30和服务器60所知。因此,对外部观察者而言,内容的提供好像 涉及完全不同的名称空间并且因而表现的不相关。虽然有可能从传输的顺序中推断出内 容的顺序,名称空间的改变有助于对哪些包属于同一会话进行伪装。这使得将内容按正确 顺序重新组装变得非常困难。另外,考虑到内容通常仅与名称空间相关一直到其完成请求, 万一另一个网络节点试图重播所述请求以通过重新发送兴趣包来对所述服务器60进行欺 骗攻击,同一的内容也不太可能在所述名称空间可用。此外,通常情况下分配用于所述内容 后续部分的每个附加名称空间由与先前兴趣包有关的信息和/或有效提供了与后续内容 部分有关的名称空间之间的菊花链关系的已提供内容得出。
[0087] 考虑如下实例,用于从服务器60对内容的三部分C3_i、C3_ 2及C3_3进行传输的安全 会话已经建立,所述传输为对来自客户端30的请求的响应。
[0088] 如图2所示,对内容第一部分Ch的兴趣包被编址至保留的名称空间80,如A所 示。下面将对此做更详细的说明,会话标识符部分20具有仅被客户端30和服务器60两者 所知的会话 x值。需指出所述会话x的值可以为保留的名称空间80中的任意值。
[0089] 收到内容k之后,服务器60计算下一个名称空间(详细地说,会话X+1的值)并 且该下一个名称空间与内容c 3_2有关。
[0090] 会话X+1的值仍由客户端30确定,并且对内容C3_ 2的下一个兴趣包被编址至名称空 间,如B所示。
[0091] 在提供了内容C3_2之后,服务器60随后确定与内容C 3_3相关的名称空间(详细地 说,会话x+2的值)并将内容c 3_3与所述名称空间关联。
[0092] 客户端30也确定用于内容C3_3的名称空间(通过会话 x+2的值的确定)并且做出 对所述名称空间的请求。这样,会话中内容的连续部分就由服务器60提供给客户端30。
[0093] 安全会话
[0094] 图3示出了当在内容中心网络40上的安全会话中建立和传输内容以请求,例如, 内容的三个部分ChXm和C 3_3时,客户端30和服务器60执行的主要消息传送以及处理步 骤。
[0095] 在步骤S10中,在服务器60对来自客户端30的对内容请求的响应中,依照已知技 术如Diffie-Hellman密钥交换将密钥K1在客户端30与服务器60之间进行交换。
[0096] 可选地,所述客户端30与所述服务器60可以使用加密密钥K1加密或者通过公开 交换来对其它信息进行交换。例如,可交换随后可能使用的一个或多个哈希函数的详细信 息。同样地,可以交换会话部分20的会话x初始值的指示。该会话部分20的初始值可由 客户端30或服务器60进行选择并提供给对方。该会话部分20的初始值可采用公开方式 或使用所述密钥K1进行加密以提供。备选地,所述会话部分20的初始值可使用密钥K1进 行加密并应用哈希函数。备选地,所述会话部分20的初始值可通过施加哈希函数至密钥K1 来确定。备选地,所述会话部分20的初始值可使用指向客户端30和服务器60两者均已知 的伪随机序列初始记录的指针来确定,所述指针可以公开发送、可以被或者不被施加哈希 函数并进行加密发送。
[0097] 在步骤S20中,客户端30和服务器60执行同样的操作以确定会话部分20的会话 x初始值以及,因此的,初始名称空间。备选地,如果客户端30已经提供了名称空间会话部 分20的初始值,那么服务器60就不需做任何事情。例如,可能由在客户端30与服务器60 之间传送的公开消息中提取出名称空间会话部分20的初始值。备选地,名称空间会话部分 20的初始值可通过施加密钥K1至客户端30与服务器60之间交换的信息来得以确定。备 选地,名称空间会话部分20的初始值可通过施加哈希函数和密钥K1至客户端30与服务器 60之间交换的信息来得以确定。备选地,初始名称空间会话部分20的初始值可通过施加哈 希函数至密钥K1来得以确定。备选地,会话部分20的初始值可从伪随机序列的初始记录 来得以确定。
[0098] -旦服务器60确定了初始名称空间,随后在名称空间70的保留名称空间80之中 被请求的内容被关联至所述名称空间。例如,服务器60可将内容C 3_i与图2中A示出的初 始名称空间相关联。
[0099] 在步骤S30中,客户端30使用如图2中A所示相同的初始名称空间来发送对内容 Ch的兴趣包至内容中心网络。
[0100] 在步骤S40中,服务器60接收兴趣包并在其名称空间内查询与内容相关联的记 录。如果没有这样的记录存在或者没有与所述记录相关联的内容,那么就不采取更进一步 的措施或者提供错误消息。但是,如果初始名称空间与名称空间80的保留部分70中的记 录相匹配,那么服务器60使用数据包向客户端30提供相关联的内容C 3_i。
[0101] 在步骤S50中,客户端30和服务器60两者均对用于内容C3_2的下一部分的后续 名称空间进行确定。特别地,客户端30和服务器60两者执行相同的操作以确定会话 X+1会 话部分20的下一值。有多种方法可以完成该确定。例如,会话部分20的下一值可由伪随 机序列的另一个值获得,所述获得可以为序列中先前值的预先协商好的偏置,或是基于在 步骤S40中提供的内容而得到的偏置。同样地,会话部分20的下一值可由施加密钥K1至 在S40中接收到的内容上来得出。备选地,会话部分20的下一值可由施加哈希函数至步骤 S40提供的内容来得到。备选地,会话部分20的下一值可由施加密钥或哈希函数至名称空 间先前部分来得出。
[0102] 同时,服务器S60在其名称空间70的保留部分80中创建记录并将关联数据的下 一部分C 3_2至该记录,如图2中B所示。
[0103] 在步骤S60中,客户端30使用与图2中B所示相同的初始名称空间发送要求内容 C3_2的兴趣包至内容中心网络40。
[0104] 在步骤S70中,服务器60接收所述兴趣包并在其名称空间中查找与内容相关的记 录。如果没有这样的记录存在或没有与该记录关联的内容,那么就不采取进一步的措施或 者提供错误消息。但是,如果初始名称空间与名称空间80的保留部分70中的记录相匹配, 那么服务器60使用数据包将相关联的内容C3_2提供给客户端30.
[0105] 在步骤S80中,对是否所述会话已经完成进行确定。如果已经完成,那么处理结 束。如果没有完成,那么返回步骤S50继续进行处理,并且随后根据前述名称空间和/或前 述接收的内容部分确定会话部分20的下一值,如图2中C所示。
[0106] 这样,可以看到提供了在内容中心网络中使用的技术。这样的内容中心网络重点 强调了安全性并通常要求所有的网络包使用公钥基础设施(PKI)加密系统进行签名。虽然 这允许网络核实每个包的起源,由于非对称加密是缓慢的,这明显影响到了性能。为了缓解 这个问题,提供了在内容中心网络中用于安全会话的实施例,以数据流形式位于两个网络 节点之间的会话仅在会话开始时执行一次身份验证,并且这样单独的数据包就无需再被签 名。
[0107] 当在内容中心网络中建立安全会话时,各通信方需要对它们用以交换信息的名称 空间协商一致。在服务器端,该名称空间用来识别传入数据属于给定的会话。知道传入的 数据属于哪个会话允许服务器检索解密所述包的密钥。通过使用仅与单独客户端分享的密 钥,作为仅有的其它可接触到该密钥的节点,服务器可以在随后暗中检查该发送方的身份。 除了充当这样的会话检验者之外,名称空间的特定值与交换的数据没有直接的相互关系并 且可以根据多种不同的原则进行选择。通过使用概括的名称空间选择原则,可以获得多种 相对与其他名称空间选择方案的优点,包括对相关联的会话传输去相关并且消除在会话建 立机制上实现重放攻击的任何可能。
[0108] 通过对共享密钥达成一致,例如对称加密密钥,内容中心网络中的两个节点可以 建立仅有所述两个主机可理解的数据流会话。在那些使用安全哈希函数的实施例中,通过 持续变化名称空间在会话中提供了附加的安全层以供端点使用进行通信。
[0109] 如图4所示,该方法通过散列被端点交换的加密流量来创建名称空间菊花链。每 个名称空间均单独使用并且所述菊花链的演进仅可被所述参与节点所预测。通常,内容中 心网络中端点之间的安全会话通过首先建立端点之间的共享密钥或加密密钥来进行建立。 它们随后就名称空间达成一致,在所述名称空间中所述密钥是有效的,并且在所述名称空 间中进行的所有后续通信都必须使用所述共享的密钥对数据进行加密和解密。但是,在实 施例中,客户端通过发送兴趣包至服务器发起安全会话的建立。包括在客户端和服务 器之间建立共享密钥(密钥)的经典Diffie-Hellman握手的一半。服务器随后计算共享密 钥(k sym)并且发出带有获取ksym所必须信息的数据包。然而,需注意ksym自身绝不会在各通 信方之间传输,其为Diffie-Hellman密钥交换算法的中心概念。由于仅有客户端和服务器 知道k sym,其被用于建立目标为会话中下一兴趣包的名称空间目标。通过施加已知的哈希函 数h()至ksym来完成这个工作。H(k sym)产生由ksym得出的已知长度的值nQ,但是由nQ则确 定不出k sym。目标为安全会话的名称空间随后被确立为/(server-nameVsec/rv再一次 的,与ksym-样,仅有所述服务器和客户端知道rv但是,其将在由客户端发送的下一兴趣 包h中以明文传输。这对内容中心网络的路由协议功能来说是必要的,并且这不允许攻击 者预测出在客户端与服务器之间用于通信的下一个有效的名称空间。
[0110] 当所述服务器接收h时,其将试图使用h的目标名称空间指出的密钥解密该包的 加密段。如果这是有效的兴趣包,服务器将生成数据包Di来做出响应并将这个包发送给客 户端。与h-样,Di具有加密段(名称空间的一部分和数据负载)和非加密段(路由信息)。 当Di准备好从服务器进行发送时,服务器将更新与正在进行的会话相关的名称空间。通过 使用作为种子对h()应用的%并且在后续使用其散列Di的加密内容,新的散列值ηι被创 建。下一次客户端希望发送兴趣包至服务器时,它需要将/ (server-name)/sec/%作为目 标而不是/(server-name)/sec/n0〇
[0111] 通过使用该原则,名称空间序列生成rv ni、n2、nk……,其中每个单独名称空间仅 对单次事务有效。序列中的每一个^将仅在明文中被暴露一次,之后对于后续的使用它们 变得无效。此外,在客户端和服务器之间交换的信息中没有能使偷听者能够从^的明文中 得出n i+1的信息。只有拥有会话密钥ksym并且参与客户端与服务器之间所有先前消息交换 的节点才能够得出正确的名称空间序列。
[0112] 通过利用客户端和服务器共享相同的密钥ksym这一事实,只要它们之间的通信 不被扰乱,两个端点就可以对名称空间的演进进行预测。这样,通过能够发送兴趣包至/ (server-name)/ sec/nk+1,客户端隐含的验证了其已经收到并解密了服务器已在会话中发 送的、直至并且包括D k的所有(并且没有更多)数据。
[0113] 如此将值进行散列以演进安全会话名称空间的菊花链方法提供了多种优点。例 如,不像固定或可预测会话标识符方案,执行重播攻击的入侵者不能实现会话建立握手的 最终确认。另外,偷听者也无法关联属于相同会话的数据。这是由于偷听者无法预测会话中 的名称空间如何演进,因为没有k sym就无法从ni计算得出ni+1。这样就无法确定是否两个连 续的兴趣包是否为同一个会话或不同会话的部件。然而,入侵者能够辨别兴趣包是否为一 些会话的部件。并且,如果会话中的数据被以任何方法干扰(包被注入、移除或修改),客户 端与服务器之间的通信将立即失败,并且它们将不得不建立新的安全会话来继续通信。这 与内容中心网络的路由原则相一致,即任何兴趣包将引起单一的数据包作为响应,而失败 将导致新的兴趣包的传输。但是,这个方法的一个缺点是其不适于在高丢包和/或包错误 的传输信道中使用。这是因为所有的失败都将要求会话被重建立(包括握手的开销)而传 输媒介上的高失败率将严重降低协议的性能。
[0114] 这样,通过在内容中心网络主机之间的高吞吐量安全会话中传输的相关网络包之 间执行去相关,该方法提供了相较其他已知方案额外的数据安全性。对于多种商业应用,该 安全性提供了密钥使能器。该方法为内容中心网络会话增加了安全层,并且没有在网络安 全的其它方面进行妥协。
[0115] 如图4中可以见到的那样,初始名称空间1?由共享的密钥生成。对于每个传入的 兴趣包,内容提供者返回包括未加密(路由信息)和加密(秘密路径和负载部分)两者的 数据包。对于k>0时,名称空间n k通过散列在先名称空间rig及响应包Dk的加密部分来生 成。每个名称空间仅对单次使用有效。
[0116] 为了进一步提高安全性,需指出可对在客户端和服务器之间公开传送的数据(如 内容标识符22)应用本领域公知的"加盐"技术以帮助掩饰后续相关的内容标识符22并有 助于增强去相关。
[0117] 本领域技术人员能够轻易认识到多种上述方法的步骤可以使用被编程的计算机 执行。在此,一些实施例还旨在覆盖程序存储设备如数字数据存储介质,其可被机器或计算 机读取并且编码机器可执行或计算机可执行的指令的程序,其中所述指令执行一些或全部 所述上述方法的步骤。所述程序存储设备可为如数字存储器、磁存储媒介如磁盘和磁带、硬 盘驱动器、或光可读数字数据存储媒介。实施例还旨在覆盖被编程以执行上述方法的所述 步骤的计算机。
[0118] 图中示出的多种单元的功能,包括标记为"处理器"或"逻辑器件"的功能块,可通 过使用专用硬件以及能执行适当软件的硬件来提供。当由处理器提供时,提供该功能的处 理器可能是单独的专用处理器、单独的共享处理器或部分独立处理器被共享的多个独立处 理器。此外,术语"处理器"或"控制器"或"逻辑器件"的明确使用不应被理解为涉及排除能 执行软件的硬件,并且应理解为其包括但不限于数字信号处理器(DSP)硬件、网络处理器、 专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用来存储软件的只读存储器(ROM)、随机 存储器(RAM)以及非易失存储器。其余常规和/或定制硬件设备也可包括在内。类似地, 图中示出的任何交换都是逻辑意义上的。其功能可能通过对程序逻辑的操作来执行,也可 能通过专用逻辑器件、或通过程序控制与专用逻辑器件的交互作用、甚至手动来进行执行, 具体实现方式可以由实施者依照其个人对上下文的理解来进行选择。
[0119] 需指出对于本领域技术人员来说,此处任意方框图描绘的是体现本发明原理的电 路的概念性视图。类似地,需要指出所有流程图表、流程图、状态转移图、伪码及类似物实质 上位于计算机可读媒体中并可以被计算机或处理器执行的各种进程,不论这样的计算机或 处理器是否被明确地表露。
[0120] 以上叙述和描绘仅仅示出了本发明的原理部分。因此需要指出本领域技术人员能 够遵循本发明的原理设计出多种本文中没有明确描述或展示的实施例,但其仍然包括在本 发明的精神和范围之中。此外,所有在此列举的例子主要为了教导和帮助读者理解本发明 的原理以及发明人提出的概念以推动本领域技术的发展,并且所举示例还应被理解为不限 于本文这些特别列举的例子和条件。此外,所有对本发明原理、整体情况、实施例以及具体 示例的陈述均包括其等同物。
【权利要求】
1. 一种在内容中心网络的客户端与服务器之间建立用于数据包流传输的安全会话的 方法,所述方法包括步骤: 在所述服务器与所述客户端之间交换第一名称空间部分指示; 从所述第一名称空间部分指示获取第一名称空间部分;将所述第一名称空间部分并入 由所述客户端发往所述服务器的对所述数据包流中第一数据包的第一请求的第一名称空 间; 获取后续名称空间部分,所述后续名称空间部分基于所述第一数据包的传输,所述后 续名称空间部分与所述第一名称空间部分不同;并且 将所述后续名称空间部分并入由所述客户端发往所述服务器的对所述数据包流中后 续数据包的后续请求的后续名称空间。
2. 如权利要求1所述的方法,其中所述第一名称空间部分指示包括所述客户端与所述 服务器之间共享的加密密钥,并且所述第一名称空间部分从所述加密密钥获得。
3. 如权利要求1或2所述的方法,其中所述第一名称空间部分指示包括所述客户端与 所述服务器之间共享的加密密钥,并且所述第一名称空间部分从所述客户端与所述服务器 之间共享的哈希函数获得,该哈希函数被施加至所述加密密钥。
4. 如前述权利要求之一所述的方法,其中所述第一名称空间部分指示包括被所述客户 端与所述服务器之间共享的加密密钥加密的所述第一名称空间部分,并且通过使用所述加 密密钥解密所述第一名称空间部分指示来获得所述第一名称空间部分。
5. 如前述权利要求之一所述的方法,其中所述后续名称空间部分指示包括被所述客户 端与所述服务器之间共享的加密密钥加密的所述第一数据包,并且所述后续名称空间部分 从所述第一数据包获得。
6. 如前述权利要求之一所述的方法,其中所述后续名称空间部分通过使用加密密钥解 密所述第一数据包从所述第一数据包获得,或从施加至所述第一数据包的哈希函数获得。
7. 如前述权利要求之一所述的方法,其中所述后续名称空间部分从施加至所述第一数 据包和所述第一名称空间部分的哈希函数获得。
8. 如前述权利要求之一所述的方法,其中所述第一名称空间部分包括随机值和伪随机 值序列中的选出值之一。
9. 如前述权利要求之一所述的方法,其中所述后续名称空间部分包括另一随机值和所 述伪随机值序列中选出的另一值之一。
10. 如前述权利要求之一所述的方法,包括获取后续名称空间部分的步骤,所述后续名 称空间部分不同于先前名称空间部分;并且 将所述后续名称空间部分并入由所述客户端发往所述服务器对所述数据包流中后续 数据包的后续请求的后续名称空间中。
11. 如前述权利要求之一所述的方法,包括以下步骤:对于那些内容标识符不变的所 述数据包流的后续数据包的名称空间请求,施加所述客户端与所述服务器之间共享的盐函 数至所述内容标识符以提高其变化性。
12. -种用于在内容中心网络的服务器与客户端之间建立安全会话以传输数据包流的 客户端,所述客户端包括: 交换逻辑,用于在所述服务器与所述客户端之间交换第一名称空间部分指示; 获取逻辑,用于从所述第一名称空间部分指示获取第一名称空间部分,并将所述第一 名称空间部分并入发往服务器的对所述数据包流第一数据包的第一请求的第一名称空间, 所述获取逻辑进一步用于获取后续名称空间部分,所述后续名称空间部分与所述第一名称 空间部分不同,并且将所述后续名称空间部分并入发往所述服务器的对所述数据包流中后 续数据包的后续请求的后续名称空间。
13. -种在内容中心网络的服务器与客户端之间建立安全会话以传输数据包流的方 法,所述方法包括以下步骤: 在所述服务器与所述客户端之间交换第一名称空间部分指示; 从所述第一名称空间部分指示获取第一名称空间部分; 将所述第一名称空间部分并入与所述数据包流中第一数据包相关的第一名称空间; 获取后续名称空间部分,所述后续名称空间部分基于所述第一数据包的传输,所述后 续名称空间部分不同于所述第一名称空间部分;并且 将所述后续名称空间部分并入与所述数据包流中后续数据包相关的后续名称空间。
14. 一种在内容中心网络的服务器与客户端之间建立安全会话以传输数据包流的服务 器,所述服务器包括: 交换逻辑,用于在所述服务器与所述客户端之间交换第一名称空间部分指示; 获取逻辑,用于从所述第一名称空间部分指示获取第一名称空间部分; 合并逻辑,用于将所述第一名称空间部分并入与所述数据包流中第一数据包相关的第 一名称空间; 所述获取逻辑用于获取后续名称空间部分,所述后续名称空间部分基于所述第一数据 包的传输,所述后续名称空间部分不同于所述第一名称空间部分;并且 所述合并逻辑用于将所述后续名称空间部分并入与所述数据包流中后续数据包相关 的后续名称空间。
15. -种用于在计算机上执行时,执行如权利要求1至11或13中任意之一的方法步骤 的计算机程序产品。
【文档编号】H04L29/06GK104160674SQ201380011478
【公开日】2014年11月19日 申请日期:2013年2月12日 优先权日:2012年2月28日
【发明者】F·弗兰克 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1