用于对内容名称进行加密的系统的制作方法
【专利摘要】一种用于对存储在分层结构的节点中的内容的名称进行加密的系统。内容接收节点例如通过使用散列函数对包括在内容名称中的节点的名称之中的预定节点的名称进行加密,并发送加密的内容名称以接收存储的内容。中继节点接收包括节点的加密名称的内容名称,并且例如通过使用参考表对节点的加密名称进行解密。中继节点使用解密的节点名称来将内容请求中继到内容存储节点。因为内容名称被加密,所以可在不公开与内容被存储在其中的分层结构相关联的信息的情况下执行内容路由。
【专利说明】用于对内容名称进行加密的系统
[0001]相关申请的交叉引用
[0002]本申请要求于2012年11月26日提交的韩国专利申请如.10-2012-0134447的权益,该专利申请的整个公开内容出于所有目的通过引用合并于此。
【技术领域】
[0003]以下描述涉及使用内容名称执行路由的内容中心网络((110,并涉及对包括在内容名称中的节点的名称进行加密的技术。
【背景技术】
[0004]云计算环境是指将内容存储在位于远离访问内容的计算机的存储空间中、而不是将内容本地存储在计算机中并且用于使用网络访问这些内容的计算环境。在这样的云计算环境下,可基于内容执行联网。因此,用户会想要访问内容,但是这样的用户对于服务器的架构和存储内容的网络的其它部分不感兴趣。
[0005]为了使用内容名称访问内容,需要在网络中公开该内容名称,诸如上述的云计算环境。然而,即使内容名称是仅被共享的信息,内容名称也可揭示关于网络结构的信息或类似信息。因此,如果内容名称被共享,则与用户期望访问的内容相关联的信息可能会被不合期望地泄漏。这样的泄露可引起诸如黑客攻击的继发损害。
【发明内容】
[0006]此
【发明内容】
被提供用于以简化的形式介绍多个概念的选择,将在以下的具体实施例中进一步描述这些概念。此
【发明内容】
不是意图标出要求的主题内容的关键特征或必要特征,也不是意图被用于帮助确定要求的主题内容的范围。
[0007]在一总体方面,一种接收存储在分层结构的内容存储节点中的内容的内容接收节点包括:加密选择器,被构造为从包括内容存储节点和内容存储节点的父节点的名称的内容名称选择将被加密的名称;加密装置,被构造为对所选的名称进行加密;发送器,被构造为将包括加密的名称的加密内容名称发送到内容存储节点。
[0008]可使用散列函数对选择的名称进行加密。
[0009]内容接收节点还可包括:接收器,被构造为从内容存储节点接收对加密内容名称的响应。
[0010]内容接收节点可设置为:加密装置被构造为存储所选的名称和加密的名称。
[0011]内容接收节点可设置为:接收器被构造为基于所选的名称和加密的名称来验证所接收的响应是否是与加密内容名称相应的响应。
[0012]在另一总体方面,一种中继内容的中继节点包括:接收器,被构造为接收内容名称,在所述内容名称中,存储内容的内容存储节点的名称和内容存储节点的父节点的名称中的至少一个名称被加密;解密装置,被构造为当中继节点的邻近子节点的名称是包括在所述内容名称中的节点的名称之中的加密名称时,对所述邻近子节点的加密名称进行解密;发送器,被构造为将所述内容名称发送到与解密的名称相应的所述邻近子节点。
[0013]可使用散列函数对所述至少一个名称加密。
[0014]中继节点可设置为:中继节点连接至多个邻近子节点,中继节点还包括参考表,所述参考表包括所述多个邻近子节点的名称和关联值,在所述关联值中所述多个邻近子节点的名称通过使用散列函数而被加密,并且解密装置被构造为在参考表中搜索包括在内容名称中的与邻近子节点关联的加密名称,并对所述邻近子节点的加密名称进行解密。
[0015]接收器可被构造为从所述邻近子节点接收对所发送的内容名称的响应。
[0016]发送器可被构造为通过用所述邻近子节点的加密名称取代包括在响应中的所述邻近子节点的未加密名称来转发响应。
[0017]解密装置可被构造为存储所述邻近子节点的解密名称。
[0018]解密装置可被构造为另外地存储指示所述邻近子节点的未加密名称将被加密并转发的标志,发送器可被构造为通过参照该标志来用所述邻近子节点的加密名称取代包括在响应中的所述邻近子节点的未加密名称。
[0019]解密装置可被构造为将所述邻近子节点的加密名称存储在未决兴趣表$11)中。
[0020]发送器可被构造为在?II中搜索从其接收到响应的邻近子节点的加密名称,并且当所述邻近子节点的加密名称存在于内时转发响应。
[0021]在另一总体方面中,一种中继节点的中继方法包括:接收内容名称,在所述内容名称中,存储内容的内容存储节点的名称和内容存储节点的上层节点的名称中的至少一个名称被加密;当中继节点的邻近子节点的名称是包括在所述内容名称中的节点的名称之中的加密名称时,对所述邻近子节点的加密名称进行解密;将内容名称发送到与解密的名称相应的所述邻近子节点。
[0022]可使用散列函数来对所述至少一个名称加密。
[0023]所述方法可设置为:中继节点连接到多个邻近子节点,所述方法还可包括:产生参考表,所述参考表包括所述多个邻近子节点的名称和关联值,在关联值中,所述多个邻近子节点的名称通过使用散列函数而被加密,并且解密的步骤包括:在参考表中搜索包括在内容名称中的与邻近子节点关联的加密名称,并且对所述邻近子节点的加密名称进行解? \ | 0
[0024]所述方法还可包括:从所述邻近子节点接收对所发送的内容名称的响应。
[0025]所述方法还可包括:通过用所述邻近子节点的加密名称取代包括在响应中的所述邻近在节点的未加密名称来转发响应。
[0026]所述方法还可包括:存储所述邻近子节点的解密名称。
[0027]所述方法还可包括:另外存储指示所述邻近子节点的未加密名称将被加密和转发的标志,其中,转发的步骤包括:通过参照标志来用所述邻近子节点的加密名称取代包括在响应中的所述邻近子节点的未加密名称。
[0028]所述方法还可包括:将所述邻近子节点的加密名称存储在未决兴趣表$11)中。
[0029]所述方法还可包括:在中搜索从其接收到响应的邻近子节点的加密名称;当所述邻近子节点的加密名称存在于内时,转发响应。
[0030]在另一总体方面,一种非暂时性计算机可读介质存储用于中继节点的中继方法的程序,所述程序包括用于使计算机执行以上讨论的方法的指令。[0031〕 在另一总体方面,一种分层结构中的用于将内容提供到内容接收节点的内容存储节点,包括:接收器,被构造为从邻近中继节点接收内容名称,所述内容名称包括内容存储节点以及定义从内容接收节点到内容存储节点的路径的至少一个父节点的名称,其中,所述名称中的至少一个名称被预先编码和加密,所述至少一个名称被邻近中继节点解密;发送器,被构造为将与所述内容名称对应的响应发送到邻近中继节点以被发送到内容接收节点。
[0032]所述响应可包括与内容名称对应的内容。
[0033]内容存储节点还可包括内容存储装置,其中,内容被存储在内容存储装置中。
[0034]内容存储节点可设置为:使用解密的内容名称,将包括通过分层结构对内容进行路由的响应发送到内容接收节点。
[0035]内容存储节点可设置为:使用散列函数预先对名称中的至少一个进行加密。
[0036]其他特征和方面从以下详细描述、附图和权利要求书将是清楚的。
【专利附图】
【附图说明】
[0037]图1是示出根据示例实施例的使用内容地址执行路由的示例的示图。
[0038]图2是示出根据示例实施例的内容接收节点的示例的框图。
[0039]图3是示出根据示例实施例的中继节点的示例的框图。
[0040]图4是示出根据示例实施例的参考表的示例的示图。
[0041]图5是示出根据示例实施例的中继节点的中继方法的示例的流程图。
[0042]图6是示出根据示例实施例的图5的中继方法中的存储邻近子节点的解密名称的操作的示例的流程图。
[0043]图7八和78是示出根据示例实施例的图5的中继方法中的存储邻近子节点的加密名称的操作的示例的流程图。
[0044]在整个附图和详细描述中,除非另有描述或提供,否则相同的附图标号将被理解为指示相同的元件、特征和结构。为了清晰、例示和方便起见,附图可不按照刻度,并且可夸大元件的相对尺寸、比例和描绘。
【具体实施方式】
[0045]提供以下详细描述来帮助读者获得在此描述的方法、设备和/或系统的全面理解。然而,在此描述的系统、设备和/或方法的各种改变、修改和等同对于本领域的普通技术人员是很明显的。所描述的处理步骤和/或操作的进展是示例;然而,操作和/或操作的顺序不限于在此所阐述操作和/或操作的顺序,并且可如本领域已知的那样进行改变,除了必须按特定次序发生的步骤和/或操作之外。此外,为了提高清晰度和简洁性,可省去对于本领域的普通技术人员所公知的功能和构造的描述。
[0046]在此描述的特征可按照不同形式实施,并且不应被理解为限制于在此描述的示例。相反,在此公开的示例被提供以使得本公开将是彻底和完整的,并将本公开的完整范围传达给本领域的普通技术人员。
[0047]图1示出根据示例实施例的使用内容地址执行路由的示例。
[0048]在图1示出的实施例中,计算机110可用于创建、处理和消费内容。在图1中,内容的至少某部分被存储在计算机110的外部。在这个示例中,计算机110使用网络访问所存储的内容。为了使用网络访问内容,计算机110使用该内容的地址。这样的地址允许计算机110识别内容。通过识别内容,计算机110能够通知网络到哪里查找内容以及计算机将处理哪一个特定内容。例如,当内容被存储在外部服务器(诸如外部服务器150)中时,计算机110使用外部服务器150的地址(诸如外部服务器150的互联网协议(IP))来访问该内容。这样的地址提供了上面讨论的标识的部分,该标识识别信息位于哪个外部服务器。一旦计算机110确认从哪个外部服务器检索信息,则识别将处理哪个特定内容以及该特定内容位于服务器的什么地方变为可能。
[0049]如图1的示例实施例所示,当内容被存储在分层构造的外部服务器120、130、140、150和160之一中时,计算机110通过利用包括外部服务器120、130、140、150和160的名称的内容名称作为地址来访问该内容。在图1的示例中,例如,外部服务器120是“lab”,外部服务器130是“private”,外部服务器140是“public”,外部服务器150是“research,外部服务器160是“storage”。如图1所示,基于外部服务器120、130、140、150和160如何彼此通信连接来将外部服务器120、130、140、150和160排列为分层结构。
[0050]以下,使用网络访问内容的计算机110将被称为内容接收节点110。内容存储节点是指存储内容的装置。在某些实施例中,这样的内容存储节点被配置为内容的主机,内容随后被发送到内容接收节点110并被内容接收节点110检索。例如,外部服务器120、130、140,150和160可以是分层结构中的实际存储内容的内容存储节点。中继节点是指中继内容名称的装置。例如,外部服务器120、130、140、150和160可以是为了提供内容而中继内容名称的中继节点。例如,由于外部服务器130 “private”位于外部服务器120和外部服务器150之间,因此外部服务器130可将请求发送到外部服务器150并中继对于该请求的响应。以下,外部服务器120、130、140、150和160也可分别被称为节点120、130、140、150和160。因此,网络中的节点可均具有接收内容、存储内容和中继内容的能力。
[0051]当内容被存储在节点140中时,所存储的内容的内容名称可被确定为“ccns/lab/pub I i c/…” 170。这里,“ ccns ”表示能够使用内容名称访问内容的内容中心网络(CCN)协议。然而,ccns是一任意的示例,并且网络架构所支持的任何网络名称都是网络的潜在名称。在此示例中,内容名称“lab”表示包括存储内容的节点140的顶级域,“public”表示节点140的名称。在“ccns/lab/public/…”170结尾处的“…”指的是内容名称的末端,其可包括更远的路径,该路径允许网络找到内容的位置以及从“public”节点140检索到内容的名称。
[0052]根据实施例,分层结构的包括存储内容的节点140的一部分可变为公开。例如,“ccns/lab/public/…”170提供的信息是:“lab”节点120的位置对于“public”节点140来说是作为分层结构中的父节点的中间服务器。因此,使用包括在分层结构中的节点120、130、140、150和160的用户的隐私可被侵害。在内容名称被截取的情况下,未经授权的用户能够收集关于意图被隐藏的网络结构的信息。这样的信息会造成易于被黑客攻击,这是因为如果潜在的黑客拥有了关于意图被隐藏的网络结构的信息,则为潜在黑客提供了基于网络结构确定网络的弱点和易受攻击处的机会。
[0053]根据实施例,实施例通过对被分层构造的并且应另外被包括在内容名称中的节点120、130、140、150和160的名称之中的预定节点的名称进行加密来保护用户的隐私。例如,当内容被存储在节点160中时,所存储的内容的未加密内容名称被确定为如上面讨论的“ccns/lab/private/storage/...”。然而,如讨论过的,这样的未加密内容名称提供了这样的信息:该内容名称通过节点120和130访问节点160。因此,为了避免此问题,实施例对部分的内容名称加密,将进一步进行讨论。
[0054]例如,内容接收节点110使用散列函数将节点130的名称“private”加密为“H1”,节点130是存储内容的节点160的上层节点。因此,所存储的内容的内容名称被加密为“ccns/lab/Hl/storage/…”180。然而,“H1”仅仅是可通过散列函数产生来对内容名称的一部分加密的占位符的示例。
[0055]在该示例中,内容接收节点110将内容名称“ccns/lab/Hl/storage/…” 180发送到节点120,节点120为存储内容的节点160的顶级域。与顶级域相应的节点120确定在内容名称“ccns/lab/Hl/storage/…”180中作为节点120的邻近子节点的节点130或140的名称被加密。与顶级域相应的节点120随后对作为邻近子节点的加密名称的符号“H1”进行解密。与顶级域相应的节点120将用于访问相应内容的地址发送到其名称被加密的节点130。在使用散列对内容名称进行加密的情况下,不需要管理用于执行加密的加密密钥,这是因为加密处理的保密性是基于散列函数的保密性。因此,这样的散列函数的使用允许如上面讨论的对节点名称的加密,但是内容接收节点110以及其它节点120、130、140、150和160在该方法中不需要共享用于执行加密的加密密钥。因此,可简化路由,并且可减少网络开销。然而,由于仍然执行了加密,因此刚才讨论的示例方法提供了安全保障。
[0056]即使以上描述了提供仅对单个节点的名称的加密的实施例,但是实施例提供了对包括在内容名称中的节点的名称之中的多个名称进行加密。某些内容名称包括与节点分层结构的多个等级相应的节点名称。例如,当如图1所示内容被存储在节点150中时,所存储的内容的未加密内容名称可被确定为“ccns/lab/private/research/...”。和前面一样,这样的未加密内容名称包括潜在地危害系统安全的关于存储的内容的信息。作为解决此问题的示例方式,内容接收节点110将节点130的名称“private”加密为“H1”,并且将节点150的名称“research”加密为“H2”。和上面一样,“H1”和“H2”仅仅是示例符号。在一示例中,如上面讨论的,通过对节点名称进行散列处理来得到“H1 ”和“H2”。因此,所存储的内容的内容名称可被加密为“cCnS/lab/Hl/H2A"”190。如果内容名称对多个节点的名称加密,则用于代表多个节点的加密符号被解密以通过加密地址访问内容参考。例如,加密符号可随着遍历节点连接而被渐进地解密。
[0057]图2示出根据示例实施例的内容接收节点200的示例。
[0058]参照图2,内容接收节点200可包括加密选择器210、加密装置220和发送器230。
[0059]加密选择器210从包括存储内容的内容存储节点和内容存储节点的上层节点的名称的内容名称选择将被加密的名称。如以上讨论的,原始的内容名称标识出将要遍历以访问内容的节点的分层结构,并且节点名称没有加密。
[0060]加密选择器210接收内容名称。在实施例中,诸如图1的实施例,内容被存储在分层构造的节点结构中,而不是被存储在内容接收节点200中。这样的节点结构包括存储内容的内容存储节点和内容存储节点的父节点,所述父节点提供从内容接收节点200到内容存储节点的路由。例如,父节点是如上讨论的将内容从内容存储节点中继到内容接收节点200的中继节点。在这个示例中,内容名称包括内容存储节点的名称和内容存储节点的父节点的名称。内容名称还可包括内容存储节点被包括在其中的计算机网络的顶级域的标识符。加密选择器210从包括在内容名称中的节点的名称之中选择将被加密的名称。
[0061]加密装置220对所选的名称进行加密。例如,加密装置220使用散列函数对所选的名称进行加密。在这样的示例中,散列函数是单向函数的类型,所述单向函数将待加密的节点的名称映射为散列值。这样的散列函数基于特定算法从给定输入产生输出值,但是使从输出值产生输入变得不同。当作为散列函数的输出的散列值不同时,散列函数的输入值不同。因此,散列函数提供了这样的方式:被授权访问其它节点的节点能够使用散列值来计算出节点的身份,但是包括在这样的加密内容名称中的信息是受限的。由于以上特性,散列函数可用于验证数据的完整性和对消息进行认证。这样的散列函数通过在网络架构中提供不正确的认识来为授权用户提供访问,而不会危害网络的安全。
[0062]在一示例中,当内容名称是“ccns/lab/private/storage/...”时,加密选择器210选择节点的名称“private”作为将被加密的名称。如上面讨论的,加密装置220将节点的名称“private”加密为“H1”。在这个示例中,被加密的内容名称可以是“ccns/lab/Hl/storage/...,,?
[0063]在此示例中,加密装置220存储所选的名称“private”和加密的名称“H1”。
[0064]发送器230将包括加密的名称Hl的加密内容名称“ccns/lab/Hl/storage/…”发送到内容存储节点(例如,图1的节点160)。
[0065]接收器240从内容存储节点接收对加密内容名称“ccns/lab/Hl/storage/...”的响应。在示例中,对加密内容名称的响应包括加密的名称“H1”。因此,仅基于加密的名称,接收器240可能难以确定所接收的响应与哪个内容名称相应。在这个示例中,接收器240使用所选的和加密的名 称“H1”相应的未加密名称“private”来验证所接收的响应是对内容名称 “ccns/lab/private/storage/…”的响应。
[0066]在一实施例中,对内容名称的响应包括与该内容名称相应的内容的一部分或全部。
[0067]图3示出根据示例实施例的中继节点300的示例。参照图3,中继节点300包括接收器310、解密装置320、未决兴趣表(PIT) 330、参考表340和发送器350。
[0068]在图3中,中继节点300被包括在作为计算机网络的一部分的分层结构中。内容被存储在包括在计算机网络中的内容存储节点中。在这个示例中,中继节点300是内容存储节点的父节点。中继节点300可包括多个子节点。例如,在中继节点300之下的分层结构中可放置有多个子节点。
[0069]在图3中,接收器310接收内容名称。具有被接收器310接收的内容名称的节点370可以是中继节点300的父节点,还可以是通用路由器。在实施例中,内容名称包括内容存储节点的名称和内容存储节点的父节点的名称。通过包括这样的名称,内容名称定义了穿过网络分层结构的路径,该路径提供了访问期望的内容存储节点以访问内容的方式。如上讨论的,诸如通过使用散列函数对包括在内容名称中的至少一个节点名称进行加密。以下,讨论将参照未加密的内容名称是“ccns/lab/private/research/...”的示例以及接收器310接收的加密内容名称是“ccns/lab/private/H2/…”的示例。如前面提到的,“research”被散列以提供符号“H2”。
[0070]解密装置320确定在所接收的内容名称中与中继节点300的邻近子节点相应的节点的名称是否被加密。当中继节点300的邻近子节点的名称被加密时,解密装置320对该邻近子节点的名称进行解密以帮助识别邻近子节点。
[0071]在示例实施例中,解密装置320使用参考表340来执行解密。以下,将进一步参照图4描述根据实施例的使用参考表执行解密的构造。
[0072]图4示出根据示例实施例的参考表的示例。
[0073]基于图1的具有名称“priviate”的节点130在图1的分层节点结构中作为中继节点操作的假设而产生图4的参考表。以下,节点130也可被称为中继节点130。在图1的上下文中,中继节点130在节点120与节点150和160之间中继内容。
[0074]例如,参考表包括列410和列420,列410用于存储节点的未加密名称,列420用于存储其中节点的未加密的名称通过使用散列函数而被加密的散列值。如先前讨论的,未加密的名称允许访问节点分层结构中的节点,但是揭示出未加密的名称存在安全风险。参照参考表,当节点的名称为“research”441时,散列值为“H2” 442。当节点的名称为“Storage”451时,散列值为“H3”452。因此,参考表将未加密的名称映射到它们的散列值,这提供了 一种将散列值解密回到正确的未加密的名称的方式。
[0075]这里,假设在中继节点130接收的内容名称中中继节点130的邻近子节点的名称被加密并且加密的值为“H2”442。
[0076]中继节点130的解密装置320可在加密的内容名称中发现“H2” 442,并且确定中继节点130的邻近子节点的名称被加密。因为内容名称被加密,所以中继节点130可能不能在中继节点130的子节点之中确定哪个节点是存储与该内容名称相应的内容的节点。例如,具有名称“research”的节点150和具有名称“storage”的节点160都是中继节点130的子节点,所以仅仅是“H2”442不能在检索内容时提供使用哪个子节点的清楚指示。
[0077]为了解决使用哪个子节点,解密装置320搜索参考表的存储散列值的列420。例如,解密装置320在列420中搜索“H2”442,并且在参考表中搜索与散列值“H2”442相应的节点的名称“research” 441,“H2” 442是其中邻近子节点的名称被加密的散列值。
[0078]在此示例中,解密装置320基于与散列值“H2” 442的对应关系,使用从参考表检索的节点的名称“research” 441来对内容名称进行解密。因为散列值“H2” 442对应于节点150的名称“research”441,所以解密装置320确定与内容名称相应的内容被存储在具有名称“research”的节点150和具有名称“storage”的节点160之中的节点150中。
[0079]发送器350将内容名称发送到与解密的节点名称相应的邻近子节点。例如,发送器350将内容名称发送到具有名称“research”的子节点360。
[0080]接收器310从作为节点370的邻近子节点的子节点360接收对所发送的内容名称的响应。例如,对内容名称的响应可包括与该内容名称相应的内容的一部分或全部。对内容名称的响应可包括从发送器350发送到子节点360的内容名称。在实施例中,通过使用对内容名称的响应,接收器310验证所接收的响应与哪个内容名称相应。
[0081]在接收器310接收到响应之后,发送器350将对内容名称的响应转发给父节点或路由器(例如,节点370 )。在示例中,所转发的响应被发送到内容接收节点,这将内容提供给内容接收节点。
[0082]根据示例,接收器410从邻近子节点接收的响应包括未加密的内容名称。发送器350通过用该邻近子节点的加密名称取代该邻近子节点的未加密名称来对未加密的内容名称进行加密。发送器350将包括加密的内容名称的响应转发给父节点或路由器。
[0083]为了确定对每个名称的响应将被发送给哪个内容接收节点,中继节点300将关于从其接收到各个内容名称的内容接收节点的信息存储在PIT330中。例如,中继节点300将内容名称和与父节点或路由器相关联的信息(例如,与接收内容名称的节点370相关的信息)存储在PIT330中。
[0084]例如,解密装置320将包括邻近子节点的解密名称(例如,“research”)的内容名称存储在PIT330中。
[0085]从发送器350发送到具有名称“research”的子节点360的内容名称可能未被加密。包括在接收器310接收的响应中的子节点360的名称“research”也可能未被加密。
[0086]在以上示例中,发送器350容易地从PIT330检索包括未加密的名称“research”的内容名称。发送器350从PIT330获得与和内容名称相应的父节点或路由器相关联的信息。继续该示例,发送器350通过用“H2”取代子节点360的名称“research”来执行加密。发送器350将其中内容名称被加密的响应转发给父节点或路由器(例如,节点370)。
[0087]在一实施例中,解密装置320另外存储指示邻近子节点的解密名称(例如,“research”)将被重新加密和转发的标志。发送器350通过参照该标志来用“H2”取代低层节点360的名称“research”。
[0088]解密装置320将邻近子节点的加密名称(例如,“H2”)存储在PIT330中。在这个示例中,不是包括解密的名称“ re sear ch ”的内容名称,而是包括加密的名称“ H2 ”的内容名称被存储在PIT330中。
[0089]在该示例中,邻近子节点的名称(例如,包括在接收器310接收的响应中的“research”)未被加密。因此,在这个示例中,发送器350将未加密的名称“research”加密为“H2”。发送器350接下来在PIT330中搜索加密的名称“H2”,并且获得与父节点或路由器(例如,内容名称将被发送给其的节点370)相关联的信息。因此,发送器350可通过再次用“H2”取代低层节点360的名称“research”来执行加密。发送器350将其中内容名称被加密的响应转发给父节点或路由器(例如,节点370 )。例如,当加密的名称“H2 ”存在于PIT330中时,发送器350将响应转发给父节点或路由器(例如,节点370)。
[0090]图5示出根据示例实施例的中继节点的中继方法的示例。
[0091]中继节点可包括多个子节点。
[0092]在操作510中,中继节点产生参考表,该参考表包括多个邻近子节点的名称和其中所述多个邻近子节点的名称通过使用散列函数而被加密的散列值。在示例中,所产生的参考表具有与图4的参考表类似的形式。
[0093]在操作520中,所述方法从父节点或路由器接收加密的内容名称。例如,加密的内容名称包括中继节点的名称和该中继节点的邻近子节点的名称,所述邻近子节点的至少一个名称通过使用散列函数而被加密。
[0094]在操作530中,所述方法对邻近子节点的加密名称进行解密。例如,中继节点基于搜索参考表的结果在参考表中搜索该邻近子节点的加密名称,并且对该邻近子节点的加密名称进行解密。
[0095]在操作540中,所述方法将内容名称发送到中继节点的多个邻近子节点之中的与解密的名称相应的邻近子节点。因为名称是解密的名称,所以不会不清楚解密的名称指的是哪个邻近子节点。
[0096]在操作550中,所述方法从该邻近子节点接收对所发送的内容名称的响应。在示例中,响应包括与所发送的内容名称相应的内容的一部分或全部。
[0097]根据实施例,对内容名称的响应包括从中继节点发送到邻近子节点的内容名称。中继节点可使用包括在对内容名称的响应中的内容名称来验证所接收的响应与哪个内容名称相应。
[0098]在操作560中,所述方法将所接收的响应转发给父节点或路由器。例如,中继节点从邻近子节点接收的响应包括未加密的内容名称。在该示例中,中继节点通过用邻近子节点的加密名称取代邻近子节点的未加密名称来对未加密的内容名称进行加密。中继节点将包括加密的内容名称的响应转发给父节点或路由器。
[0099]图6示出根据示例实施例的图5的中继方法中的存储邻近子节点的解密名称的操作的示例。
[0100]在操作610中,所述方法将包括邻近子节点的解密名称的内容名称存储在PIT中。根据一示例,包括在中继节点从邻近子节点接收的响应中的该邻近子节点的名称可能未被加密。
[0101]在以上示例中,中继节点在PIT中搜索包括邻近子节点的未加密名称的内容名称。中继节点从PIT获得与和内容名称相应的邻近子节点或路由器相关联的信息。例如,中继节点通过用邻近子节点的加密名称取代邻近子节点的未加密名称来对内容名称进行加密。中继节点将其中内容名称被加密的响应转发给父节点或路由器。
[0102]在操作620中,所述方法另外存储指示邻近子节点的未加密名称将被加密和转发的标志。例如,中继节点通过参照该标志来用邻近子节点的加密名称取代邻近子节点的未加密名称。
[0103]图7A和图7B示出根据示例实施例的图5的中继方法中的存储邻近子节点的加密名称的操作的示例。
[0104]在操作710中,所述方法将邻近子节点的加密名称存储在PIT中。在这个示例中,不是解密的内容名称,而是加密的内容名称被存储在PIT中。
[0105]中继节点从邻近子节点接收的该邻近子节点的名称可能未被加密。在操作720中,所述方法对该邻近子节点的未加密名称进行加密。例如,中继节点在PIT中搜索该邻近子节点的加密名称,并且获得与内容名称将被发送给其的父节点或路由器相关联的信息。
[0106]例如,中继节点将其中内容名称被加密的响应转发给父节点或路由器。仅当加密的名称存在于PIT内时,中继节点才将响应转发给父节点或路由器。
[0107]描述的内容中心网络(CCN)可提高这样的网络换将的安全性。其它的用于CCN的架构发送未加密的内容名称,当这样的未加密的内容名称被截获时,为黑客和未授权的用户提供了能够被他们利用来危害网络安全性的信息。相反,内容中心网络(CCN)的示例以这样的方式来对内容名称信息进行加密和管理:仍然可以访问内容,但是如果内容名称信息被截获,使用散列处理从而使窃听者不能使用该内容名称信息来危害网络安全。
[0108]在此描述的设备和单元可使用硬件组件来实现。硬件组件可包括例如控制器、传感器、处理器、生成器、驱动器和其它等同电子组件。可使用一个或多个通用或专用计算机来实现硬件组件,例如,处理器、控制器和算术逻辑单元、数字信号处理器、微计算器、现场可编程阵列、可编程逻辑单元、微处理器或其它任何能够以定义的方式响应并执行指令的装置。硬件组件可运行操作系统(OS)和运行在OS之上的一个或多个软件应用。硬件组件还可响应于软件的执行访问、存储、操作、处理和创建数据。为了简化的目的,处理装置的描述用作单数;然而,本领域的技术人员将意识到,处理装置可包括多个处理元件和多种类型的处理元件。例如,处理装置可包括多个处理器或处理器和控制器。另外,不同的处理构造是可能的,诸如并行处理器。
[0109]在此描述的方法可被编写为计算机程序、代码段、指令或它们的组合,以用于独立地或共同地指令或配置处理装置来按照期望的操作。软件和数据可被永久地或临时地实现在任意类型的机器、组件、物理或虚拟设备、计算机存储介质或装置中,能够将指令或数据提供给处理装置或者提供由处理装置解释的指令或数据。软件还可分布在联网的计算机系统中,从而以分布的方式存储和执行软件。具体地,软件和数据可被一个或多个非暂时性计算机可读记录介质存储。介质还可包括单独的软件程序指令、数据文件、数据结构等或者它们的组合。非暂时性计算机可读记录介质可包括能够存储其后可被计算机系统或处理装置读取的数据的任意的数据存储装置。非暂时性计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、致密盘只读存储器(CD-ROM)、磁带、USB、软盘、硬盘、光记录介质(例如,CD-ROM或DVD)以及PC接口(例如,PC1、高速PC1、WiFi等)。另外,本领域的程序员可基于在此提供的附图中的流程图和框图以及它们相应的描述来理解用于实现这里公开的示例的功能程序、代码和代码段。
[0110]仅作为非穷尽示意,在此描述的终端/装置/单元可指的是移动装置,诸如例如,蜂窝电话、智能电话、可穿戴的智能设备(诸如例如,戒指、手表、目艮镜、手镯、脚环、皮带、项链、耳环、头带、头盔、嵌入衣服的设备等)、个人计算机(PC)、平板个人计算机(平板电脑)、字母表、个人数字助理(PDA)、数码相机、便携式游戏平台、MP3播放器、便携式/个人多媒体播放器(PMP)、手持电子书、超级移动个人计算机(UMPC)、便携式膝上PC、全球定位系统(GPS)导航和诸如高清晰度电视(HDTV)、光盘播放器、DVD播放器、蓝光播放器、机顶盒或与其它任何与在此公开一致的能够进行无线通信或网络通信的装置。在一非穷尽的示例中,可穿戴装置可被自身固定在用户身体上,诸如例如眼镜或手镯。在另一非穷尽示例中,可穿戴装置可通过附着装置固定在用户的身体上,诸如例如,使用臂带将智能手机或平板电脑附着在用户的手臂上,或者使用短绳将可穿戴装置挂在用户的脖子附近。
[0111]计算系统或计算机可包括电连接到总线、用户接口和存储器控制器的微处理器,并且还可包括闪存装置。闪存装置可通过存储器控制器存储N比特数据。N比特数据可以是已经和/或将被微处理器处理的数据,并且N可以是等于或大于I的整数。如果计算系统或计算机是移动装置,则可提供电池来供电以操作计算系统或计算机。对于本领域的普通技术人员很明显的是,计算系统或计算机还可包括应用芯片组、相机图像处理器、移动动态随机存取存储器(DRAM)和本领域的普通技术人员已知的包括在计算系统或计算机中的任意其它装置。存储器控制器和闪存装置可构成使用非易失性存储器固态驱动器或盘(SSD)来存储数据。
[0112]虽然本公开包括特定示例,但是对于本领域的普通技术人员很明显的是,在不脱离权利要求及其等同物的精神和范围的情况下,可对这些示例在形式和细节上进行各种改变。在此描述的示例应被认为仅是描述性的,而不是出于限制的目的。每个示例的特征或方面的描述应被认为可应用于其它示例中的类似特征或方面。如果描述的技术按照不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件按照不同的方式被组合和/或被其它组件或它们的等同物取代或补充,则可实现适当的效果。因此,本公开的范围不是由详细的描述限定,而是由权利要求及其等同物限定,权利要求范围内的所有变化和它们的等同物应被理解为包括在本公开中。
【权利要求】
1.一种接收存储在分层结构的内容存储节点中的内容的内容接收节点,包括: 加密选择器,被构造为从包括内容存储节点和内容存储节点的父节点的名称的内容名称选择将被加密的名称; 加密装置,被构造为对所选的名称进行加密;和 发送器,被构造为将包括加密的名称的加密内容名称发送到内容存储节点。
2.如权利要求1所述的内容接收节点,其中,使用散列函数对所选的名称进行加密。
3.根据权利要求2所述的内容接收节点,还包括: 接收器,被构造为从内容存储节点接收对加密内容名称的响应。
4.根据权利要求2所述的内容接收节点,其中,加密装置被构造为存储所选的名称和加密的名称,接收器被构造为基于所选的名称和加密的名称来验证所接收的响应是否是与加密内容名称相应的响应。
5.—种中继内容的中继节点,包括: 接收器,被构造为接收内容名称,在所述内容名称中,存储内容的内容存储节点的名称和内容存储节点的父节点的名称中的至少一个名称被加密; 解密装置,被构造为当中继节点的邻近子节点的名称是包括在所述内容名称中的节点的名称之中的加密名称时,对所述邻近子节点的加密名称进行解密;和 发送器,被构造为将所述内容名称发送到与解密的名称相应的所述邻近子节点。
6.如权利要求5所述的中继节点,其中,使用散列函数对所述至少一个名称加密。
7.根据权利要求6所述的中继节点,其中: 中继节点连接至多个邻近子节点, 中继节点还包括参考表,所述参考表包括所述多个邻近子节点的名称和关联值,在所述关联值中所述多个邻近子节点的名称通过使用散列函数而被加密,并且 解密装置被构造为在参考表中搜索包括在内容名称中的与邻近子节点关联的加密名称,并对所述邻近子节点的加密名称进行解密。
8.根据权利要求6所述的中继节点,其中,接收器被构造为从所述邻近子节点接收对所发送的内容名称的响应。
9.根据权利要求8所述的中继节点,其中,发送器被构造为通过用所述邻近子节点的加密名称取代包括在响应中的所述邻近子节点的未加密名称来转发响应。
10.根据权利要求9所述的中继节点,其中,解密装置被构造为存储所述邻近子节点的解密名称,解密装置被构造为另外地存储指示所述邻近子节点的未加密名称将被加密并转发的标志, 发送器被构造为通过参照该标志来用所述邻近子节点的加密名称取代包括在响应中的所述邻近子节点的未加密名称。
11.根据权利要求8所述的中继节点,其中,解密装置被构造为将所述邻近子节点的加密名称存储在未决兴趣表?II中,发送器被构造为在?II中搜索从其接收到响应的邻近子节点的加密名称,并且当所述邻近子节点的加密名称存在于内时转发响应。
12.—种中继节点的中继方法,所述方法包括: 接收内容名称,在所述内容名称中,存储内容的内容存储节点的名称和内容存储节点的上层节点的名称中的至少一个名称被加密;当中继节点的邻近子节点的名称是包括在所述内容名称中的节点的名称之中的加密名称时,对所述邻近子节点的加密名称进行解密;和 将内容名称发送到与解密的名称相应的所述邻近子节点。
13.根据权利要求12所述的方法,其中: 中继节点连接到多个邻近子节点, 所述方法还包括: 产生参考表,所述参考表包括所述多个邻近子节点的名称和关联值,在关联值中,所述多个邻近子节点的名称通过使用散列函数而被加密,并且 解密的步骤包括:在参考表中搜索包括在内容名称中的与邻近子节点关联的加密名称,并且对所述邻近子节点的加密名称进行解密。
14.根据权利要求12所述的方法,还包括: 从所述邻近子节点接收对所发送的内容名称的响应。
15.根据权利要求14所述的方法,还包括: 通过用所述邻近子节点的加密名称取代包括在响应中的所述邻近在节点的未加密名称来转发响应。
16.根据权利要求15所述的方法,还包括: 存储所述邻近子节点的解密名称。
17.根据权利要求16所述的方法,还包括: 另外存储指示所述邻近子节点的未加密名称将被加密和转发的标志, 其中,转发的步骤包括:通过参照标志来用所述邻近子节点的加密名称取代包括在响应中的所述邻近子节点的未加密名称。
18.根据权利要求14所述的方法,还包括: 将所述邻近子节点的加密名称存储在未决兴趣表中。
19.根据权利要求18所述的方法,还包括: 在中搜索从其接收到响应的邻近子节点的加密名称;和 当所述邻近子节点的加密名称存在于?II内时,转发响应。
20.一种分层结构中的用于将内容提供到内容接收节点的内容存储节点,包括: 接收器,被构造为从邻近中继节点接收内容名称,所述内容名称包括内容存储节点以及定义从内容接收节点到内容存储节点的路径的至少一个父节点的名称,其中,所述名称中的至少一个名称被预先编码和加密,所述至少一个名称被邻近中继节点解密; 发送器,被构造为将与所述内容名称对应的响应发送到邻近中继节点以被发送到内容接收节点。
【文档编号】H04L29/08GK103841099SQ201310602829
【公开日】2014年6月4日 申请日期:2013年11月25日 优先权日:2012年11月26日
【发明者】金大烨 申请人:三星电子株式会社