本发明涉及命名数据网络,具体涉及一种基于兴趣包签名边缘校验的ndn访问控制方法。
背景技术:
作为下一代网络的典型架构,命名数据网络(nameddatanetworking,ndn)采用面向内容的设计架构,不同于传统互联网以主机为网络的中心,ndn只关注内容本身,而非内容的存储位置。通过唯一标识的内容名字构建命名路由,并利用网内分布式缓存加速内容分发,ndn有效降低了网络传输冗余、提高了内容分发效率。但是,ndn在带来网络性能改善的同时,也带来了潜在的安全风险。一旦内容分发到网内,它可以被任意沿路的网络节点缓存和分发,无论用户是否拥有读取内容的权限,都可以在缓存节点处命中并取回内容,此时内容提供商将完全失去对内容分发的控制。因此,在非安全ndn应用场景下,迫切需要设计一个有效的访问控制方法,来保障ndn网络中内容的访问权限。
为实现内容访问权限的良好保护,国内外研究人员做了许多探索,其中大部分解决方案都是采取数据包加密的方法,从而使得仅有授权用户可解密并获取内容。zhang等人提出了一种基于命名密钥分发的访问控制方案nac-rsa。方案中引入了三个角色:accessmanager(am)、encryptor(对应ndn中的内容提供商)、decryptor(对应ndn中的消费者)。am负责生成非对称公私钥对(kek,kdk)并将kdk分发给授权的decryptor,其中kek为明文数据包、kdk由decryptor的公钥加密。encryptor作为发布加密内容的实体,首先以会话密钥ck加密内容并发布到网内,同时向am请求kek并使用kek加密ck。nac-rsa保证了只有授权的decryptor可解密获取kdk,从而使用kdk解密得到ck,最终使用ck解密获取内容。此外,方案中的密钥(例如kek、kdk、ck)通过特定的规则命名并构造成数据包。例如,kek的名称代表了其加密内容名称的粒度(即内容名称前缀),kdk的名称则表示了授权decryptor的名称。通过密钥命名分发的方式nac-rsa有效实现了用户对不同粒度的访问控制。
然而,nac-rsa存在着明显的缺陷。一方面,随着授权decryptor数量的增加与内容粒度的精细,nac-rsa将显得缺乏扩展性;另一方面,在每一次内容请求中,decryptor都需要提前向am和encryptor请求获取kdk和ck,这会使得系统交互十分低效,尤其当am或encryptor宕机时,将会造成不可预计的时延。
为了提高nac-rsa的扩展性,zhang等人进一步优化了方案,提出了nac-abe。在nac-abe中,(kek,kdk)由传统的基于rsa的密钥对替换成了基于属性加密的密钥对,确保了拥有正确属性集的decryptor可解密获取内容。通过属性策略的构建,nac-abe无需为每个粒度都生成一对密钥,很大程度上缓解了am的工作压力,提高了系统的扩展性。为了降低交互过程中的时延,misra等人利用ndn的内网缓存策略设计了一个基于广播加密的访问控制方案accconf。在accconf中,广播组内授权用户可利用缓存直接在网内复用内容,而无需在每一次请求前向内容提供商请求会话密钥。
综上所述,现有研究者已提出若干方案,部分解决了ndn中的访问控制问题,但现有各方案都仍旧存在着一个共性问题:非授权用户虽然无法解密获取加密内容,但是他们的兴趣包仍然可以被转发到网内并且命中数据包返回,这些不必要的兴趣包与数据包的交互极大地增加了网络带宽资源的占用。基于上述问题,在边缘路由器处校验兴趣包,直接在边缘处丢弃非授权用户的兴趣包是一种可行的方案。然而,将兴趣包的校验主体由内容提供商变为边缘路由器又将引入以下问题:(1)在传统基于数据包加密的访问控制方案中,用户权限的校验是通过内容提供商完成的,其本质是校验用户是否订阅了旗下的各类互联网服务,故内容提供商可系统有效地部署旗下各类应用服务对用户的权限。然而,一旦将校验的主体推向边缘,如何在授权边缘路由器完成对不同内容提供商下不同授权互联网服务访问权限的校验是一个很大的挑战。(2)如果边缘路由器直接存储用户公钥和内容提供商公钥,用于实现兴趣包签名校验,在互联网海量应用服务背景下,数量庞大的用户密钥也会极大地消耗边缘路由器的存储开销同时使得密钥管理变得十分复杂。
鉴于此,如何有效地在边缘路由器上部署不同内容提供商下不同授权互联网服务的访问权限校验,是当前ndn领域的研究难点,而本发明针对该问题,提出基于兴趣包签名边缘校验的访问控制方法,很好地解决了这一难题。
技术实现要素:
为了解决现有ndn访问控制方法中存在的非法兴趣包与数据包交互问题,本发明提出了一种基于兴趣包签名边缘校验的访问控制方法以实现授权内容访问权限的良好保障,降低网内流量压力,简化边缘授权难度。
为了实现上述发明目的,本发明技术方案如下:一种基于兴趣包签名边缘校验的访问控制方法,包括以下步骤:
1)初始化,内容提供商向网内所有边缘路由器发出公告,所述公告内容包含了内容提供商的公钥
2)用户注册,获取代理签名权限;用户a向内容提供商注册,获取代理签名权限,注册成功后,内容提供商将授权委托书w、随机参数k和随机参数sa发送给注册用户a;
3)用户验证授权,如果内容提供商的授权有效,转步骤4);否则转步骤2)用户a重新向内容提供商发起授权请求;
4)兴趣包签名,包括用户a计算用于兴趣包签名的代理签名密钥对(xp,yp),xp为代理签名私钥,yp为代理签名公钥;用户a对命名数据网络原有兴趣包结构进行修改,在原始兴趣包结构的基础上新增了一个“metadata”字段,以存储用于验证用户身份的签名及相关参数;
5)边缘校验。
进一步地,上述步骤2)中,所述用户a的授权委托书记为w=(internetservicej|ida|authorization_time);其中,internetservicej为授权互联网服务的名称,ida为用户a的身份id,authorization_time为授权委托书的有效期;所述随机参数
进一步地,上述步骤3)中,所述验证内容提供商的授权是否有效的方法是:如果
进一步地,上述步骤4)中,所述所述代理签名私钥xp计算公式为:
进一步地,上述步骤4)中,所述所述“metadata”字段的内容包括:
进一步地,上述步骤5)包括如下步骤:
5.1)边缘路由器等待兴趣包到达,当新的兴趣包到达时,边缘路由器首先在“授权互联网服务名称”列表中查找兴趣包名称前缀,验证该兴趣包请求的内容是否属于授权互联网服务,如果不存在,则执行命名数据网络传统路由转发,之后继续转步骤5.1);否则,转下一步;
5.2)边缘路由器根据兴趣包中提供的参数计算代理签名公钥yp;计算方法为:
5.3)用户a使用yp验证
本发明具有以下有益效果:本发明针对传统ndn访问控制方法中网内流量非法占用问题,设计了一种基于兴趣包签名边缘校验的访问控制方法,内容提供商分发授权证书,获取授权证书的用户可以代替内容提供商实施兴趣包签名,同时发布公告授权边缘路由器实施兴趣包签名校验。使得边缘路由器仅需要存储内容提供商的公钥及其对应授权互联网服务名称就可以实现对兴趣包签名的校验。
本发明实现了授权内容访问权限的良好保护;采用边缘兴趣包签名校验方法,降低了网络流量压力;通过代理签名算法,降低了边缘校验的部署难度,减小了边缘路由器的存储开销。
附图说明
图1是发布公告部署边缘兴趣包签名校验。
图2是兴趣包格式修改。
图3是本发明的注册交互时序图。
图4是本发明的兴趣包签名及边缘校验交互时序图。
具体实施方式
为解决当前ndn访问控制方案中存在的网内流量非法占用问题,本发明以兴趣包内添加签名、边缘路由器校验兴趣包签名作为解决方案,从而实现在边缘路由器处直接丢弃非授权兴趣包,防止其进入网内。然后,在边缘实施校验,自然地引入了两个问题:用户如何替代内容提供商实施兴趣包签名、如何在边缘路由器部署校验权限。着眼于以上挑战,本发明提出了一种基于兴趣包签名边缘校验的访问控制方法。
下面结合附图以及具体实施例对本发明作进一步的说明,需要指出的是,下面仅以一种最优化的技术方案对本发明的技术方案以及设计原理进行详细阐述,但本发明的保护范围并不限于此。
所述实施例为本发明的优选的实施方式,但本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换或变型均属于本发明的保护范围。
本发明提出了一种基于兴趣包签名边缘校验的访问控制方法包括发布公告、用户注册、兴趣包签名和边缘校验4个步骤具体如下:
1)初始化
内容提供商向网内所有边缘路由器发出公告,如图1所示,公告内容包含了内容提供商的公钥
边缘路由器收到公告后,将该内容提供商公钥及其提供的“授权互联网服务名称”列表存入本地数据库中。
2)用户注册,获取代理签名权限
用户a向内容提供商注册,获取代理签名权限,注册成功后,内容提供商将授权委托书w、随机参数k和随机参数sa发送给注册用户,如图3所示;其中:
用户a的授权委托书w=(internetservicej|ida|authorization_time);internetservicej为授权互联网服务的名称,ida为用户a的身份id,authorization_time为授权委托书的有效期;
随机参数
随机参数
p和q是两个大素数,且满足条件q|p-1(即p-1能被q整除);zq*是包括{1,2,…,q-1}的自然数集合,g是zp*的q阶乘法子群的生成元;h(w)表示对w做sha-256的哈希运算;p、q、g、zq*、h(w)属于公开参数;
3)用户验证授权
用户a验证
4)兴趣包签名,包括如下步骤:
4.1)用户a计算用于兴趣包签名的代理签名密钥对(xp,yp),xp为代理签名私钥,yp为代理签名公钥;xp计算公式为:
4.2)用户a对命名数据网络原有兴趣包结构进行修改,如图2所示,在原始兴趣包结构的基础上新增了一个“metadata”字段,以存储用于验证用户身份的签名及相关参数。“metadata”字段内的内容包括了(1)采用elgamal签名方案,用代理签名私钥xp生成对请求内容名称的签名
5)边缘校验,包括如下步骤:
5.1)边缘路由器等待兴趣包到达,当新的兴趣包到达时,边缘路由器首先在“授权互联网服务名称”列表中查找兴趣包名称前缀,验证该兴趣包请求的内容是否属于授权互联网服务,如图4所示;如果不存在,则执行命名数据网络传统路由转发,之后继续转步骤5.1);否则,转下一步;
5.2)边缘路由器根据兴趣包中提供的参数计算代理签名公钥yp;计算方法为:
5.3)用户a使用yp验证
本发明有效实现了授权内容访问权限的良好保护;采用边缘兴趣包签名校验方法,避免非授权用户兴趣包进入网络,降低了网络流量压力;通过代理签名算法,确保边缘路由器仅需持有内容提供商公钥即可完成兴趣包签名校验,降低了边缘校验的权限部署难度,减小了边缘路由器的存储开销。