命名数据网络混合加密方法在核电安全的应用研究*
2020-05-07
1 引言
核电安全关系到国计民生。作为电网重要的起源点,其特殊性而往往面临更为复杂严峻的网络安全威胁。核电企业为了摆脱传统IP网络体系安全性能差,可管控能力弱的缺点,开始在其企业内部网络尝试独立于IP的新型网络体系。命名数据网络(NDN)就是其中之一。NDN是一种以信息为中心的网络模式,它采用如图1所示的沙漏模型,将网络的“细腰”从源主机和目标主机之间的通信转变为命名数据的传播[1]。在NDN中,内容的检索和分发是基于语义上有意义的内容名称,而不是基于由IP地址标识的特定目的地。NDN提倡将内容缓存在其固有的普遍存在的中间节点的内容存储器(CS)中,以减少内容或许时间,促进内容传播[2]。
图1 NDN网络沙漏模型
在NDN中提供了一种内生的安全机制,并在内容生产时对数据进行签名。然而,签名验证将消耗大量的计算资源,而且网内缓存的普遍存在使得实现安全保护具有极大的挑战性。由于内容生产者不能预知潜在的请求者,因此在没有接收者的请求的情况下,他们不能提前加密数据。另一方面,内容生产者一旦发布了数据,就将失去了对数据的控制,这是因为数据已经被缓存在接近原始兴趣请求节点的节点中。第三,以纯文本形式传输的内容名称通常泄漏敏感信息,因为它们通常在语义上有意义[3]。如果恶意路由器拦截到内容请求的兴趣包,或者获取关于所请求内容的足够辅助信息,则攻击者可以沿着精确反向路径发送损坏的或者伪造的数据包响应,并删除挂起兴趣表(PIT)中的有效条目[4]。
此外,攻击者可以利用依赖路由器缓存的定时攻击来窥探附近的消费者最近是否请求了某些内容。此外,探测攻击可以用于发现某个内容最近是否已经由内容生产者分发。更为复杂的是,攻击可能会与用户串通,这会带来严重的隐私和安全风险,并引起越来越多的关注。最后,NDN内置的安全方案将为签名验证、密钥检索和潜在的证书链遍历带来额外的开销[5]。
为了应对上述挑战,我们依据核电厂网络系统分为生产控制大区和管理信息大区两大工作区的特点,提出了一种应用于核电安全的NDN的混合加密安全保护方案HyEncNDN,以确保最终用户能够从合法的内容提供者处获取数据。HyEncNDN中包含一个控制器,负责边缘路由器的身份验证以及加密密钥的分发和管理。我们使用AES[6]对称加密密钥对内容名和数据进行加密,该密钥受RSA[7]非对称加密算法保护。HyEncNDN只允许边缘路由器验证来自真实提供者的内容,从而避免了最终用户和攻击者的协作。混合加密策略可以减少单独利用RSA加密的时间开销和计算资源消耗,从而获得更好的性能。同时,无需修改NDN的网络转发守护进程(NFD),这使得我们的方案易于实现。实验结果表明,HyEncNDN可以达到安全保护的目的。
2 背景知识和相关介绍
2.1 命名数据网络
为了摆脱传统IP网络的资源枯竭、业务适应能力差等种种束缚,核电企业在其未来网络架构中做了种种尝试,而命名数据网络因其以内容为中心的网络方式而备受关注。NDN将信息与位置分离,从传统的以发送者为驱动的面向主机的点对点对话方式,转变为以接收者为驱动的面向内容的分布式数据生产、传播、检索和消费,并促进无处不在的网络互连。NDN是一种发布/订阅模式。NDN中的通信由接收端驱动,即内容使用者从内容生产者那里拉取数据。通过其固有的网内缓存、多路径转发和多播传输的特性,NDN实现了基于名称的传输模型,为高效的内容分发提供了一个富有成效的平台。
从图1可以看到,NDN自身集成了内置的安全机制。在NDN网络架构中,安全层和策略层被细腰隔开。安全层采用密码学算法,而安全策略(如加密、签名、认证)则由策略层的安全原语组成。内容生产者在内容产生后立即对其进行签名,数据消费者对其进行验证和解密,从而消除了对网络底层或中间层的安全依赖。所有内容一旦生成,都是不可变的,独立于数据容器、中间通信通道、网络中间件或间歇性连接。签名数据在数据生成时绑定了在语义上有意义的名称和内容。内容更改时,名称及其签名也应更改。
然而,NDN中默认的随处缓存放置策略(LCE)可能会导致潜在的安全泄露威胁的出现。
2.2 相关工作
安全保护是NDN研究社区和实际应用中相对突出的问题[8]。在NDN中,内容按照名称请求,并可能被缓存在中间路由器上;恶意实体不应通过内容名称访问安全敏感信息。
正如Tourani等在文献[9]所调查的,研究领域已经提出了许多解决这个问题的方案。最近,Fotiou等提出了一种基于ICN的安全内容共享系统[10],该系统利用基于身份代理进行内容的重新加密。在文献[11]中引入了一种基于网络编码的方案,该方案采用随机转发来挖掘多路径路由的潜力,提高匿名性分集。然而,对单个网络编码链路的熵攻击或拜占庭攻击会破坏中间节点的重新编码,并迅速污染整个网络。文献[3]中进行了NDN的系统安全分析,从而凸显了正在出现的安全威胁。Chaabane等在该文中指出,加密可能是解决内容安全的潜在有效方法。Ion等通过更具表现力的策略启用细粒度访问控制,并使用对称密钥将基于属性的加密(ABE)引入ICN中以实现内容安全[12]。Xue等将组签名和哈希链结合起来[13],以保护内容和促进网络使用的记账能力。但是,如何对内容名称进行加密还没有解决,其加密密钥管理也比较复杂。加密数据库中的安全泄漏在文献[14]中有论述,内容的传输需要同时考虑名称和数据加密;此外,对于一个经证明有效的密钥管理策略来说,也是必不可少的[15]。Yang等使用与内容本身相关联的加密密钥对内容进行加密[16]。PrivICN给出,它依赖于代理加密方案,通过保护内容名称和内容数据的机密性来增强ICN中的安全[17]。
有些研究在NDN中引入区块链以提供安全保护。为了满足NDN的安全需求,文献[18]提出了一种分布式的区块链方法。文献[19]设计了一种基于匹配的访问控制模型,实现了内容的分层访问。Guo等[20]在NDN通过兴趣广播中应用区块链,以订阅推送方式支持区块链交易的实时广播。Li等提供了一个基于区块链的数据生命周期保护框架(BDLP),它利用事务和智能合约在NDN中提供一个可信和中立的环境。在BDLP中,除了区块链节点的功能外,还设计了一种特定类型的节点,在文中被称为数据坝的区块链节点,用于本地控制注册和限制数据流[21]。BlockAuth[22]使用区块链技术以分布式方式对移动生产商进行身份验证,并强制它们负责对授权节点的路由更新和名称前缀的删除。然而,这些方案都是应用在物联网(IoT)场景,缺乏普遍性。另一方面,区块链中一致性算法的生成速度成为数据检索的瓶颈。
为了克服这些挑战和限制,我们提出了一种新的混合加密安全保护方案HyEncNDN,以提供有效的安全保护。如图2所示,HyEncNDN利用控制平面和数据平面分离的思想,其安全层监视到应用层以生成加密密钥,策略层监视到控制平面,而NDN网络映射到数据平面。
图2 HyEncNDN混合加密架构
3 HyEncNDN的设计要点
在核电企业中,其内部网络一般划分为生产控制大区和管理信息大区两部分(如图3所示)。控制区直接对核电企业网络系统进行实时管控,是安全防护的核心和重点,又分为安全Ⅰ区和安全Ⅱ区;同时管理信息大区负责其他有关核电企业管理业务系统的集合。HyEncNDN利用这一特点,完成其网络的内部实现。HyEncNDN的网络参与者包括控制器、内容提供者、边缘路由器、启用缓存的路由器和最终用户。整个HyEncNDN系统架构由有向无环图表示。
3.1 数据平面和控制平面的分离
图3 核电企业网络简图
图4 混合加密分发和数据请求流程
边缘路由器直接连接到最终用户,并且不进行内容的缓存。在注册到控制器后,每个合法的边缘路由器都将在数据库中有一个条目,并被分配一个唯一的序列号和一个在生产时不能被篡改或复制的凭据许可证。合法的内容提供者也将进行类似的注册过程。
在边缘路由器完成注册的情况下,它们在连接到网络时,首先由控制器验证。之后,他们将从获取密文C(Kaes,Kpub,)和AES密钥Kaes。另一方面,内容提供程序在标识后从获取RSA私钥Kpri。启用高速缓存的路由器只需将其工作重点放在高速缓存加密内容和兴趣包和数据包的转发上。
3.2 Interest 兴趣包的处理
兴趣包的处理流程如图5所示。为了使数据泄漏具有可跟踪性,我们将边缘路由器的序列号封装为兴趣包的一部分。经过加密的内容名称不会影响兴趣包和数据包传输过程。为了不改变NDN兴趣包转发的流程,不透明内容名称的可变内容、层次前缀部分,经过加密后,将不会保存为纯文本。例如,在遵循NDN命名约定的内容名称www.pku.edu.cnece2019 9example.mp4 1中,只有其中富有内容意义的example.mp4 1被加密。这样的设计既不会干扰内容存储(CS)和挂起兴趣表(PIT)中的最长名称精确匹配(EM),也不会破坏转发信息库(FIB)的最长前缀匹配(LPM)查找。此外,它还可以减少加密整个内容名称的计算开销。同时原始的NDN兴趣包转发策略未在启用缓存的路由器中修改。
图5 兴趣包处理流程
3.3 内容提供者处理流程
合法的内容提供者可以由控制器注册并分配一个不可变的序列号,然后从控制器获取RSA私钥Kpri。恶意路由器伪装的假冒内容提供商无法通过这种身份验证。我们通过使用非对称私钥Kpri从相关消息中携带的C(Kaes, Kpub,)字段恢复对称密钥来验证内容提供程序。我们还使用Kpri加密内容数据的散列。内容提供程序流程描述如图6所示。
图6 内容提供者启发式处理流程
3.4 数据包的处理流程
图7 数据包响应流程
4 安全保护性能分析
在本节中,我们将讨论HyEncNDN原型的安全保护性能。
定理1恶意路由器无法拦截和捕获确切的内容名称。
证明:
为了遵守原始的NDN转发策略,内容名称的前缀保留为明文。但是,确切的名称是用AES-128加密的。恶意路由器可能猜测存在通过链路的数据传输,而二进制密文没有明确的字面意义。对手可能已经获得关于请求内容的一些辅助信息,例如内容流行度。Zipf函数用于建模流行分布[23],并且第k个最流行对象的概率定义如下:
其中,α(α>0)是模型的偏态因子,它决定了随着排名的增加,流行度衰减的速度,而q(q>0)被称为平台因子。
攻击者拦截路由器和内容提供商之间传输的消息。由公式(1)可以得出,它截获的加密数据包越多,就越有可能利用当前流行的内容。为了避免冲突,AES-128和RSA-1024密钥由控制器根据可疑请求的通信量重新生成和调度。此后,网络中存在的所有路由器的缓存的数据都变得过时而被清空。
证毕。
定理2未经授权的节点不能用损坏或虚假的内容欺骗边缘路由器。
证明:
未经授权的节点可以拦截兴趣包。但是,它无法获取对称密钥Kaes,因为Kaes受RSA非对称密钥保护。另一方面,它可以捕获从内容提供商或中间缓存启用路由器发回的数据包。数据本质上是用AES对称密钥加密的。此外,这样的数据包的散列值由RSA私钥保护。对手可以篡改他截获的数据包中的某些内容,但他不能提供正确的散列值。我们假设整个网络传输是健壮的;也就是说,在传播过程中没有数据包丢失。通过比较前后的散列值,我们可以验证内容数据。
证毕。
5 性能评估和讨论
将我们的方案与原始的NDN进行比较,后者仅使用RSA非对称加密保护安全。使用ndnSIM模拟器[24]进行了广泛的仿真,以获取HyEncNDN的性能。在实验中,重点研究了内容获取的时间开销。
在本节中,我们将进行HyEncNDN的性能评估。实验场景在ndnSIM中执行。我们的计算机上安装了Intel Core i7-8 700 K和运行Ubuntu16.04的32GB RAM,并部署了如图8所示的模拟网络拓扑,同时,仿真参数如表1所示。
5.1 内容获取开销
内容获取时间开销由内容哈希的计算时间和加解密时间组成。前者随着内容大小的增加而增加,后者将根据加密算法的不同而变化。我们评估验证速度:MD5每秒可以处理约280 MB的数据,AES-128每秒可以达到128 MB,而RSA-1024每秒可以处理14 800个加密操作或689个解密操作。
图8 仿真网络拓扑
表1 实验参数
在HyEncNDN中的内容验证时间包括:
(1)生成对称密钥Kaes和非对称密钥对Kpub和Kpri的时间,使用非对称密钥Kpub加密对称密钥Kaes的时间Timec,这些加密操作都是在脱机内容获取之前在控制器中完成的。因此,对于在线验证来讲,Timec可以被视为零。
(2)边缘路由器使用Kaes加密兴趣包内容名称的时间Time1 er。对于数据包,可以忽略内容名称加密和解密的时间。
(3)内容提供者使用Kpri解密K* aes,用K* aes解密内容名,用MD5散列内容数据以获得Hashdata,用K* pri加密Hashdata。在这一系列操作中所花费的的时间Timecp。
(4)边缘路由器从CDataaes cp解密data* cp,使用MD5哈希data* cp以获取Hash* data,使用Kpub解密Hash* data等操作所消耗的时间Time2 er。
另一方面,原始NDN需要花费大量时间来进行RSA非对称加密密钥的生成,此外还需要使用RSA进行基于内容的数据签名、加密和解密。通过以上分析和讨论,我们可以得出结论,CDataaes cp加密和解密计算,和原始的NDN相比,需要额外的的验证时间开销,如图 9所示,HyEncNDN可以为内容提供者提供安全保护,与原始NDN相比,所消耗的时间稍长,从2%到15%不等,平均约为8%。同时,随着数据包大小的增加,使用AES的数据包加密和解密提高了其所占时间消耗的比率,从大约0%到30%,这是因为HyEncNDN非对称加密和解密操作仅需对内容包的哈希进行,从而不受内容数据包大小的影响。在核电企业的仿真应用中,我们选择数据包大小为500 KB,实现时间占比和传输延迟的权衡。
图9 内容获取开销对比
5.2 传输开销
为了实现内容验证,需要在兴趣包和数据包中添加不同的信息(如令牌、签名等)。原始NDN验证名称和内容之间的绑定,并将内容的标准公钥签名附加到数据包。但是,每个签名的NDN数据包都必须包含信息,以便能够检索验证该数据包所需的公钥。而在HyEncNDN中,该公钥已经存储在边缘路由中,而不需要消耗额外的网络流量。我们在兴趣包中存储使用Kpub加密Kaes后的密文Cpub aes。另一方面,数据包中会传输用Kpri加密一段数据的散列值的CHashrsa。CHashrsa的长度是16字节。这些和原始NDN相比,节省了网络的传输开销。
6 结论和进一步工作
本文提出了一种混合加密安全保护方案HyEncNDN,以解决核电企业中NDN的安全保护问题。内容名称和数据使用混合加密算法进行加密。依照核电企业网络拓扑的特点,在HyEncNDN中有一个控制器,负责边缘路由器身份验证、加密密钥分发和管理。HyEncNDN只允许边缘路由器验证来自合法内容提供商的内容,并避免最终用户和攻击者的串通。实验结果表明,与原始NDN相比,在仅需很小的额外时间开销的情况下,HyEncNDN有效地实现了核电企业NDN网络的安全保护。
分布式拒绝服务(DDOS)攻击已困扰互联网数十年[25]。由于NDN体系结构的变化,DDoS攻击将更加困难。然而,DDoS攻击仍然影响着核电企业的安全保护,这将在以后的工作中讨论。