蒋文保+朱国库
【 摘 要 】 针对未来网络对安全性和移动性的需求,论文基于身份标识与地址定位分离的思想,提出一种安全可信的网络互联协议模型,简称STiP(Secure and Trusted internet Protocol)模型。STiP模型将传统的IP地址双重功能进行分离,同时通过引入报文签名与验证、地址/身份认证和去中心化密钥管理等内在安全机制,能从源头上解决源地址欺骗、路由劫持、拒绝服务等网络安全问题,从而有利于构建自主可控、安全可信的互联网环境。文中详细探讨了STiP模型的体系结构、安全主机标识与基于层次树的名址映射解析系统、骨干网安全路由及去中心化的密钥管理方案等关键技术。
【 关键词 】 未来网络;互联网协议;网络安全;可信网络;地址安全;命名与寻址
Research on the Secure and Trusted Internet Protocol
Jiang Wen-bao Zhu Guo-ku
(School of Information Management, Beijing Information Science and Technology University Beijing 100192)
【 Abstract 】 To fullfill the requirements of security and mobility in the future network environment, a secure and trusted internet protocol based on locator and identifier separation is proposed in this paper,which is called STiP.STiP separates the traditional dual functions of IP address. Moreover, intrinsic security mechanisms are designed in STiP, including digital signature and authentication, address and identity validation and decentralized key management.With the help of STiP, the security problems of current Internet such as address spoofing, route hijacking and denial of service can be solved from the source, and these help to build a secure and reliableinternet environment with controllability. The architecture of STiP, secure host identifierand its hierarchical name system, the security routing of the backbone network and its decentralized scheme for key managementand some other key technologies are discussedin detail in the paper.
【 Keywords 】 future network; internet protocol; network security; trusted network; address security; naming and addressing
1 引言
目前,以TCP/IP協议为核心技术的Internet(因特网)得到了飞速发展,正在全面改变人们的生产生活方式。网络技术广泛应用和网络空间兴起发展,极大地促进了经济社会繁荣进步,同时也带来了新的安全风险和挑战。地址和路由系统是当前Internet体系结构的核心,在安全性上,由于现有的TCP/IP协议不具备地址真实性鉴别等内在的安全机制,导致攻击源头和攻击者身份难以追查[6]。路由设备基于目的地址转发分组,对数据包的来源不做验证,大量基于地址伪造的攻击行为无法跟踪,造成源地址欺骗、路由劫持、拒绝服务等大量攻击的发生,严重威胁网络的安全。解决包括地址安全在内的网络命名安全问题[8],构建安全可信的互联网环境,已成为亟待解决的重要课题。
无疑当前的Internet体系结构需要进行变革,以IPv6为代表的渐进式变革方案,为了最大程度维持已有的Internet体系结构,其安全增强技术都是以修修补补的形式添加进来的,通常只能在局部范围内解决局部问题,难免出现安全漏洞、功能重叠、实现复杂、系统性不强等问题,不能从根本上保证网络的安全。当前国际上逐步兴起的未来网络技术研究,主张采用全新的互联网体系结构,创造出一个以全新的命名与寻址、新的路由和交换技术、新的安全机制等要素构成的网络空间。
在现有Internet体系结构中,IP地址承载了端系统的身份标识和地址定位的双重作用,这是许多安全问题的症结所在。当终端主机需要移动时,IP地址作为地址定位符必须改变,但此时主机的身份并未变化。IP地址兼具身份和定位的语义过载特性带来源地址和路由前缀两个方面的安全威胁[6]。主机移动和多宿主引发了新的安全问题,主要有地址盗用和地址洪泛[7]。
为了解决这些安全问题,IETF提出了HIP(Host Identity Protocol)[1-2] 协议。HIP在网络层和传输层之间插入主机标识层,主机标识符HI(Host Identity)提供主机身份标识功能,由传输层使用,IP地址作为网络层的定位标识符,实现数据报的路由转发。HIP在终端主机中实现名址分离,解决了移动性问题。同时,HI是非对称密钥体制中的公钥,可利用HIT(Host Identity Tag)实现主机和消息鉴别,增强了安全性。但是,HIP只能用于主机之间的端到端身份鉴别,无法应对地址前缀欺骗[8]。
LISP(Locator/Identifier Separator Protocol)[3-4] 协议是思科公司为了回应IAB(Internet Architecture Board,Internet结构委员会)路由与地址工作组的要求而提出的,它定义了两个独立的IP地址空间:终端标识EID(Endpoint ID)和路由位置标识RLOC(Routing Locator)。终端主机使用EID来标识身份,路由器使用RLOC 来标识。LISP 协议不需要对终端主机和中心路由器做任何改变,利用了成熟的隧道技术,边缘路由器通过映射服务实现IP地址双重身份的分离,实现了对移动性的支持,原有的TCP/IP网络中的路由技术可以直接利用,可以尽快实现部署。但由于同样没有内在的安全机制,相对于现有的网络体系,LISP协议的安全性并没有提高[5]。
本文借鉴HIP和LISP协议的有关名址分离思想,提出一种基于未来网络架构的安全可信的网络互联协议模型,简称STiP(Secure and Trusted internet Protocol)模型。STiP模型将IP地址双重功能进行分离,在结构上分为接入网和骨干网两部分。同时,通过引入报文签名与验证、地址/身份认证和去中心化密钥管理等内在安全机制,STiP模型能从源头上根本解决包括地址/身份安全在内的网络命名安全问题,从而有利于构建安全可信的互联网环境。
2 STiP模型体系结构
2.1 总体框架
本文基于未来网络设计思想,采用HIP和LISP协议将IP地址双重功能进行分离的理念,引入报文签名与验证、地址/身份认证和去中心化密钥管理等内在安全机制,提出一种安全可信的互联网协议模型,简称STiP模型。STiP模型将IP地址双重功能进行分离,在结构上分为接入网和骨干网两部分,如图1所示。
接入网完成终端主机的接入,主要包括接入认证服务器和终端主机等实体。STiP使用全局唯一的安全主机标识符SHI(Secure Host Identifier)来标识网络中接入的每台终端主机,主机标识不参与全局路由。骨干网实现位置的管理与数据路由,主要包括入口隧道路由器ITR (Ingress Tunnel Router)、出口隧道路由器ETR (Egress Tunnel Router)、骨干路由器、名址映射解析服务器等实体。其中路由器位置使用RLOC(Routing Locator)来标识,RLOC完成数据包的转发和路由,入口隧道路由器ITR和出口隧道路由器ETR实现接入网络和骨干网络的隔离,ITR通过映射方式实现从SHI至RLOC的映射解析。
接入网与骨干网使用独立的地址空间:接入网使用安全终端标示符转发数据,骨干网使用IP地址路由和转发数据包。终端主机不能直接访问路由器,可有效防止终端主机对路由器的攻击。STiP接入网和骨干网分离架构设计可保证未来终端接入技术与骨干网架构分别独立地演进。
在安全方面,STiP模型引入地址/身份认证、报文签名与验证和去中心化密钥管理等内在安全机制,能从源头上根本解决地址/身份真实性问题。在接入网中,由接入认证服务器来验证终端主机的真实性。映射服务器要为终端主机绑定一个主机标识、一个所在区域的RLOC和一对公私钥等信息,终端主机使用私钥对报文进行签名,接入认证服务器可以通过查询映射服务器获取和源主机标识绑定的公钥,对来自终端主机的数据包进行鉴別。在骨干网中,由于每一个RLOC都可能是接入网的骨干路由器,RLOC收到的数据包有可能来自于骨干网内任何一个RLOC发送的数据包,每个RLOC都应能获取到骨干网上所有的RLOC的公钥信息。STiP采用一种去中心化的密钥管理方案来保证各RLOC上公钥的一致性。
2.2 工作流程
根据图1所示,在STiP模型中,当一个站点的终端向另外一个站点的终端发送数据时,对端SHI在骨干网中没有路由表项。当数据到达ITR后,如果ITR在本地映射缓存表中没有找到SHI-to-RLOC的映射表项,会向本地映射解析器LMR(Local Map Resolver)发送报文,请求获取SHI-to-RLOC的映射关系;LMR收到ITR的请求后开始解析该请求报文,首先在本地查找SHI的映射信息,如果SHI记录不存在,LMR会向根映射解析器RMR(Root Map Resolver)发起迭代查询,本地映射解析器经过根映射解析器、顶级映射解析器TMR(Top-level Map Resolver)和权限映射解析器AMR(Authoritative Map Resolver)的三次迭代查询后从权限映射解析器得到ITR查询的SHI的绑定信息,即SHI-Public Key-RLOC。在ITR接收到映射响应报文后,解析出对端SHI绑定的RLOC地址,然后ITR以自己的RLOC为源地址,以对端SHI的RLOC为目的地址封装报文。对端ETR接收到数据包后解封装报文,再将报文发送到目的终端。ITR每次映射解析请求得到响应后,会将响应报文中携带的SHI-RLOC的映射关系保存在本地映射缓存表中,缓存中的SHI-RLOC的缓存记录可以设置一个TTL(Time-To-Live)值,即一条映射记录缓存的时间长度,在TTL内对该目的SHI的访问可直接封装成STiP报文发送。32位或者128位的RLOC地址长度没有增加基本报头中地址的负载,其中的地址转换、路由聚合等沿用现有体系结构中的协议方案。
3 安全主机标识与接入认证
3.1 安全主机标识及基于层次树的名址映射
ITR/ETR要依赖MR(Map Resolver)获取映射关系后才能进行数据封装和转发。因此,SHI与RLOC的映射解析是STiP建模要核心解决的问题之一,包括映射关系的创建、更新和删除。骨干网所有ITR查询到的SHI-RLOC映射关系要保证一致性。如果采用泛洪协议算法,即将整个映射数据通告到网络边缘,将分散在各ITR内的离散的映射关系扩散到每个ITR,在骨干网内形成一致的映射关系库。ITR在进行数据转发的时候,不从MR中获取映射表,而从本地映射关系库获取对端ETR的RLOC信息进行封装。每个ITR都保存一份完整的映射关系库,虽然可以控制查询/响应延迟,但增大了映射状态规模,这种扁平的无结构的名字空间显然会在ITR上产生巨大的存储和计算开销。
另外,考虑到Socket编程通常使用Hostname来标识通信对端的主机,本文参照域名系统DNS(Domain Name System)设计了一种有层次结构的主机标识命名方案和一种基于层次树的名址映射解析系统。安全主机标识符SHI是全局唯一的,为了增加骨干网内传输的数据包中源主机标识符的私密性,具体实现中可以考虑在接入认证服务器使用哈希算法对不定长的安全主机标识符生成固定长度的安全主机标识标签SHIT(Secure Host Identifier Tag),然后将原始数据包中的源主机标识符替换为该哈希值。
如图2所示,基于层次树的名址映射解析系统由根映射解析器、顶级映射解析器和权限映射解析器组成树状的拓扑结构,图中的A、B、C、D所示的根映射解析器组成了骨干区域,骨干区域以外的区域称为非骨干区域。顶级映射解析器和权限映射解析器等节点组成了非骨干区域A,本文使用骨干区根节点名称+“”的方式描述非骨干区域。骨干区内的节点要维护顶级映射解析器的位置信息,包括位置信息的增、删、改操作,任一骨干节点发起的操作請求都要获得过半骨干节点的投票同意后才能提交,投票通过的操作请求会在各个骨干节点上完成事务的提交。
从顶至下的迭代查询可保证每一次的映射解析都是最短搜索路径,这样既可以保证SHI的全局唯一性和聚合性,也可以控制每一层MR的映射表规模。最大限度地降低映射查询延迟可以在主机移动后避免报文丢失。SHI名字结构示例如下:
facility.scheme.bistu.edu.cn
解析facility. scheme.bistu.edu.cn的映射关系的迭代查询步骤如下:
a) 本地MR服务器分析全名,确定需要对cn映射解析服务器具有权威性控制的服务器的位置,请求并获取响应;
b) 请求对cn映射解析服务器查询获取edu.cn服务器的参考信息;
c) 请求对edu.cn映射解析服务器查询获取bistu.edu.cn服务器的参考信息;
d) 请求bistu.edu.cn映射解析服务器,获取 scheme.bistu.edu.cn的服务器的参考信息;
e) 请求scheme.bistu.edu.cn映射解析服务器,获取facility.scheme.bistu.edu.cn的绑定信息响应。
映射关系的更新频率主要受终端位置移动和可达状态的影响,本文建立的层次树状的名址映射解析系统可以快速响应映射关系的注册、更新、查询和删除请求,映射关系的更新频率和更新消息的通信量不会成为MR的性能瓶颈,因为映射关系的维护是状态收敛的,映射查询延迟和映射状态规模是可控的。另外,映射解析服务要考虑如何抵御DOS(Denial of Service)攻击等安全问题。当终端主机需要移动时,如图3所示,终端A从接入网1移到接入网2。接入路由器2监测到终端A的连接,接入网2首先验证A是否是伪造或者冒充的,验证通过后,接入路由器2向映射解析服务器发送映射更新消息。
假设终端A的主机标识符为facility.scheme.bistu.edu.cn,更新facility. scheme.bistu.edu.cn与RLOC1的映射关系的步骤如下:
a) 本地MR服务器通过迭代查询获取到scheme.bistu.edu.cn服务器的参考信息;
b) 请求对scheme.bistu.edu.cn映射解析服务器更新facility.scheme.bistu.edu.cn的绑定RLOC信息;
c) 刷新本地缓存。
这里要考虑的是AMR上和SHI绑定的信息更新后,A主机的通信对端B所在的接入网3使用的LMR缓存失效引起的映射服务时效问题。如果A的位置相对比较固定,可以考虑由接入网2使用的LMR向接入路由器1发送绑定更新通知,接入路由器1再向A的通信对端主机绑定的接入路由器3发送绑定更新通知,接入路由器3向 LMR发送缓存失效的更新通知。当有大量终端快速移动时,映射更新频率变高,更新规模变大,可以考虑给这些节点的绑定信息设置较小的TTL值。
3.2 接入认证
STiP模型引入内在的身份认证机制,接入网和骨干网建立不同的认证和授权机制。接入网和骨干网都使用点对点的方式来验证通信对端的确是自己所要通信的对象。通信对端通过报文鉴别的方法来验证报文是否是伪造的或者经过篡改的。发送端把报文X经过摘要运算后得到很短的报文摘要H1,再用自己的私钥对H1进行D加密运算,即数字签名。得出签名D(H1)后,将其附加在报文X后面发送出去,接收方收到报文后首先把签名D(H1)和报文X分离,再用发送方的公钥对D(H1)进行E解密运算,得出报文摘要H1,再对报文X进行摘要运算,得出报文摘要H2。如果H1等于H2,接收方就能断定收到的报文是真实的;否则就不是。
接入网要验证接入的终端主机不是伪造和冒充的,本文设计接入认证服务器来验证终端主机的真实性。名址映射解析服务器要为终端主机分配绑定的一个主机标识和一对公私钥,终端主机使用私钥对报文签名,接入认证服务器可以通过查询名址映射解析服务器获取源主机标识绑定的公钥,对来自终端主机的数据包进行鉴别。接入认证服务器将验证通过的数据包发送给直接相连的ITR,ITR通过查询名址映射解析系统获取目的主机标识绑定的RLOC信息。接入网内终端主机A和接入认证服务器的身份认证示意如图4。处理流程如下:
a) 终端主机A用保存的私钥对源主机标识符为SHIA和目的主机标识符为SHIB的数据包签名,再将签名后的数据包交付给接入认证服务器;
b) 接入认证服务器收到数据包后,首先通过查询名址映射解析系统获取源主机标识符绑定的公钥,再用公钥来验证数据包的真伪,若检验通过,则将数据包转发给地址为RLOC1的接入路由器;若验证失败,则将数据包丢弃;
c) 接入路由器收到数据包后,首先查询名址映射解析系统获取目的主机标识符绑定的RLOC信息,得到通信对端接入路由器的地址RLOC2,然后将源和目的RLOC封装到数据包中,再把数据包交付给下一跳;
d) 对端接入路由器收到数据包后,首先将数据包解封装,再将数据转交给终端主机B。
由于接入网的终端主机需要通过接入认证服务器鉴别是否是伪造的或者冒充的,这里可能会引发一个新的问题,即接入认证服务器在验证连入的终端主机身份时可能会产生的一个性能瓶颈,因为公钥解密需要一定的计算和存储开销,但此处的瓶颈可以通过接入认证服务器集群的方式来解决性能上的瓶颈问题。
4 骨干网安全路由及密钥管理
4.1 安全路由过程
骨干网内的路由器要检查数据包是否是伪造的或者经过篡改的。接入路由器收到由接入认证服务器转发的数据包后封装源和目的RLOC地址,然后将签名后的数据包路由转发,并在本地缓存的映射表中加入源主机标识符及其哈希值对应关系。在通信对端主机绑定的ETR收到发送方的数据包后,在本地缓存的映射表中加入源主机标识符的哈希值和与其绑定的RLOC的映射信息。当发送方的主机发生移动,与源主机绑定的RLOC信息更新,ETR本地缓存的源主机标识符的哈希值与RLOC的绑定信息也需要更新。骨干网路由器之间的安全可信的通信过程如图5所示。处理流程如下:
a) 地址為RLOC1的接入路由器完成数据包的封装后,用保存的私钥对数据包签名,再把签名后的数据包交付给下一跳,经过网络传递后到对端接入路由器;
b) 对端接入路由器收到数据包后,首先将数据包解封装,再查询本地的
由于每一个RLOC都可能是接入网的骨干路由器,RLOC收到的数据包有可能来自于骨干区内任何一个RLOC发送的数据包,每个RLOC都应能获取到骨干网上所有的RLOC的公钥信息。自认证的方案是通过自身携带的公钥来验证自己的身份,每次公钥的传递都会增加通信链路的负载。虽然未来网络接入终端设备数量可能是无限增长的,但骨干路由器的数量应该是有限的,因此在每个骨干路由器上保存和维护全局一致的RLOC地址和公钥的绑定信息是可行的。本文考虑设计一种去中心化的密钥管理方案来保证各个骨干路由器上RLOC地址和公钥的绑定信息的一致性。
4.2 去中心化的密钥管理方案
使用公钥数字签名一般需要依赖公钥基础设施(PKI)技术,在PKI体系下通信双方需要通过第三方权威机构CA(Certificate Authority) 颁发的公钥证书来验证公钥拥有者身份的真实性,但公钥证书管理复杂、系统开销大。本文提出一种去中心的密钥管理方案,RLOC节点自己生成密钥对,骨干网每个RLOC共同维护一个全局一致的<地址,公钥>表,每个RLOC上的<地址,公钥>数据都是一致的。
骨干网所有RLOC分为Leader和Follower两种角色,Leader是对<地址,公钥>记录的所有操作提议的唯一调度者和处理者,在任一时刻不存在多于1个的Leader,Leader角色并不与某个骨干路由器永久绑定,在Leader无法连通后,骨干网会重新选举出新的Leader。Follower是骨干网内除Leader外存活的路由节点,可发起对<地址,公钥>记录的事务操作请求,并将请求转发给Leader,还参与Leader发起的提议投票,在检测不到Leader心跳后投票重选Leader。
当有新的路由节点加入时,该节点首先会在本地生成一对密钥,该节点的公钥和RLOC地址会被提交到Leader,Leader会将添加<地址,公钥>记录的事务提议通知到全局的路由节点,并发起对该提议的投票,Leader收到过半投票后会通知全局的路由节点在本地提交该事务,新的路由节点成功加入到骨干网中。骨干网内对<地址,公钥>记录的更新和删除事务的执行过程同上,如图6所示。
5 结束语
为了满足未来网络对安全性和移动性的需求,本文基于身份标识与位置定位分离的思想,提出了一种安全可信的网络互联协议(STiP)模型。遵循STiP模型构建的未来网络,在功能结构上分为接入网和骨干网两部分,接入网和骨干网各自使用独立的地址空间,网络体系结构清晰。本文设计的基于层次树的名址映射解析系统,能有效保证主机标识符和地址定位符的转换效率,分层的名字空间增加了主机标识符的聚合性,与主机标识符绑定的公钥信息可以在终端接入时用于验证主机的身份并鉴别数据包的真实性,为接入网提供了内在的安全性。在STiP模型中,骨干网路由器之间也采用了报文签名与验证机制,该机制引入了一种去中心化的密钥管理方案,这种内在的安全机制保证了路由器之间的身份认证和信息的鉴别,能从源头上根本解决地址欺骗、路由劫持、拒绝服务等网络安全问题,从而有利于构建自主可控、安全可信的公众网络环境。
参考文献
[1] R. Moskowitz, P. Nikander, P. Jokela, and T. Henderson, “HostIdentity Protocol,” RFC 5201, IETF, Apr 2008.
[2] Moskowitz R, Hirschmann V, Jokela P, Henderson T. Host identity protocol version 2 (HIPv2). 2013. https://datatracker.ietf.org/doc/draft-ietf-hip-rfc5201-bis/ .
[3] D. Farinacci, V. Fuller, D. Oran, D.Meyer. Locator/ID Separation Protocol (LISP). Internet draft, draft-farinaccilisp-03, IETF,Aug.2007.
[4] D. Lewis et al. “Locator/ID Separation Protocol (LISP),” draftietf-lisp-22, February 2012.
[5] 张宇,韩军,汪伦伟,张来顺.安全网络模型研究[J].计算机安全,2009,07:4-6+32.
[6] 徐恪,朱亮,朱敏.互联网地址安全体系与关键技术[J].软件学报,2014,01:78-97.
[7] 昝风彪,徐明伟,吴建平.主机标识协议(HIP)研究综述[J].小型微型计算机系统,2007,02:224-228.
[8] 陈钟,孟宏伟,关志.未来互联网体系结构中的内生安全研究[J].信息安全学报,2016,02:36-45.
[9] 任勇毛,李俊,钱华林.未来互联网体系结构研究进展[J].科研信息化技术与应用,2012,03:3-11.
基金项目:
国家自然科学基金资助项目(61540020):“基于多维证据的信任评估理论、模型与关键机制研究”。
作者简介:
蒋文保(1969-),男,湖南人,毕业于清华大学,博士后,北京信息科技大学信息管理学院副院长,信息系统研究所副所长,教授,硕士生导师;主要研究方向和关注领域:网络与信息安全领域的科学研究、产品开发、教学和管理。
朱国库(1992-),男,浙江人,硕士研究生;主要研究方向和关注领域:网络与信息安全。