徐恪等:基于区块链的网络安全体系结构与关键技术研究进展 2020年 要出现在网络层、传输层、应用层、PKI四个部分。块链构建的分布式真实存储可以稳定运行,并且有 络层安全主要涉及数据平面安全和控制平效避免中心服务器宕机、恶意篡改、隐瞒数据,或 面安全,基于区块链的关键技术则体现在协同式网者对不同用户提供不一致的访问结果等问题 络入侵检测和域间路由安全两个方面,其中协同式 在基于区块链真实存储所构建的网络安全应 网络入侵检测是为了检测数据平面流量异常并及用中,存在着数据可验证与不可验证两种情况。数 时对异常流量报警过滤;域间路由安全则是为了确据可验证是指用户所上传数据的有效性存在清晰 保控制平面域间路由信息的正确性,从而有效指导的判断标准,因此其它用户在获取该数据时可以准 数据平面的流量转发。传输层安全主要涉及端到端确判断其可用性,并基于该数据完成后续的计算工 的通信安全,从而确保通信数据的机密性、完整性,作,例如域间路由安全中的路由宣告信息、访问控 现阶段这样一种安全机制是基于PKI所建立,因此制机制中的授权策略信息,PKI中的证书信息;数 区块链在传输层安全的应用主要通过在PKI安全中据不可验证则是指用户所上传数据的可用性无法 的应用来体现。应用层安全主要涉及应用软件自身显性判断,因此往往需要引入信用评分、用户评价 实现逻辑的安全性以及运行过程中面临潜在恶意等机制来辅助用户对数据的可用性进行预判,例如 用户访问时的安全性,基于区块链的关键技术则主协同式入侵检测中各系统上传的报警信息、检测模 要体现在漏洞检测众包以及访问控制机制两个方型信息等。 面,其中漏洞检测众包的目的是将漏洞检测任务众 (2)真实计算是在真实存储的基础之上,引 包出去,从而尽早发现漏洞并及时修补,确保应用入智能合约,进一步构建一个真实计算平台,确保 本身的安全;访问控制机制则是对资源的访问设置计算流程的公开、透明、可验证,以及计算结果的 规则,以防止用户资源被非法访问。PKI即公钥管真实、可信、不可篡改。在该计算平台中,计算逻 理设施,负责公钥的分发、撤销等一系列工作,并辑被编码进智能合约中并部署在区块链上,用户可 对公钥持有者的身份进行背书,从而确保网络中通以通过发布交易来触发智能合约的执行,调用智能 信双方可以互相认证身份。由于现有PKI主要是采合约的交易以及智能合约的执行结果都被真实存 用中心化架构,因此区块链在PKI安全方面的应用储在区块链中。因此相比于传统中心化、分布式计 主要体现在加强中心化PKI安全和构建去中心化的算平台,基于区块链构建的分布式真实计算平台能 PKI两个方面,前者主要目的是在保留原有中心化在承担用户计算开销的同时,有效解决传统中心化 PKI不变的基础上,引入区块链技术使其更安全高计算平台计算流程不透明,计算结果不可验证,无 效;后者则是用区块链构建一个完全去中心化的法确保真实性等问题。 PKI来取代现有的中心化架构。 在基于区块链真实计算平台所构建的网络安 在基于区块链构建上述网络安全相关技术的全应用中,根据计算时机的不同可以分为预先计算 过程中,区块链的主要作用可以总结为真实存储 和实时计算两种情况。 真实计算、真实激励三个方面 预先计算是指提前将要计算的任务交由区块 (1)真实存储是将区块链作为一个真实存储链执行,并将执行结果保存在区块链中,用户则可 平台,确保用户所存储的数据真实存在,不会被恶以按需直接对计算结果进行访问。预先计算通常在 意篡改,并且面对用户的数据访问请求也能做出真计算任务针对不同用户都一致时使用,因此可以提 实的回应。在基于区块链所构建的真实存储平台前计算好对所有用户都适用的结果,例如PKI中证 中,用户以交易的形式请求数据的增加、修改、撤书的验证工作,针对同一证书,所有用户对其验证 销等操作,其它用户则可以按需对数据库的内容进流程都是一致的。在预先计算场景下,由于用户在 行读取,并基于这些数据完成后续的计算工作。在査询计算结果时只需要进行哈希计算即可验证该 对数据存取的整个流程中,区块链数据层提供的可结果的完整性,因此当计算任务繁重时,预先计算 审计性确保用户在访问数据时可以对其完整性进的方式能显著减小用户获取计算结果的时间开销 行验证;区块链网络层提供的去中心化特性则可以 实时计算则是指用户在有计算任务需求时,通 有效避免单点失效问题;区块链共识层提供的一致过交易调用智能合约,等待交易被打包执行,并获 性和不可篡改性则确保用户访问所获取数据的真取执行结果。实时计算所涉及的中间数据通常都随 实性。因此相比于传统中心化的存储平台,基于区着调用者的不同而不同,因此无法像预先计算那样
6 徐 恪等:基于区块链的网络安全体系结构与关键技术研究进展 2020 年 要出现在网络层、传输层、应用层、PKI 四个部分。 网络层安全主要涉及数据平面安全和控制平 面安全,基于区块链的关键技术则体现在协同式网 络入侵检测和域间路由安全两个方面,其中协同式 网络入侵检测是为了检测数据平面流量异常并及 时对异常流量报警过滤;域间路由安全则是为了确 保控制平面域间路由信息的正确性,从而有效指导 数据平面的流量转发。传输层安全主要涉及端到端 的通信安全,从而确保通信数据的机密性、完整性, 现阶段这样一种安全机制是基于 PKI 所建立,因此 区块链在传输层安全的应用主要通过在PKI安全中 的应用来体现。应用层安全主要涉及应用软件自身 实现逻辑的安全性以及运行过程中面临潜在恶意 用户访问时的安全性,基于区块链的关键技术则主 要体现在漏洞检测众包以及访问控制机制两个方 面,其中漏洞检测众包的目的是将漏洞检测任务众 包出去,从而尽早发现漏洞并及时修补,确保应用 本身的安全;访问控制机制则是对资源的访问设置 规则,以防止用户资源被非法访问。PKI 即公钥管 理设施,负责公钥的分发、撤销等一系列工作,并 对公钥持有者的身份进行背书,从而确保网络中通 信双方可以互相认证身份。由于现有 PKI 主要是采 用中心化架构,因此区块链在 PKI 安全方面的应用 主要体现在加强中心化PKI安全和构建去中心化的 PKI 两个方面,前者主要目的是在保留原有中心化 PKI 不变的基础上,引入区块链技术使其更安全高 效;后者则是用区块链构建一个完全去中心化的 PKI 来取代现有的中心化架构。 在基于区块链构建上述网络安全相关技术的 过程中,区块链的主要作用可以总结为真实存储、 真实计算、真实激励三个方面: (1)真实存储是将区块链作为一个真实存储 平台,确保用户所存储的数据真实存在,不会被恶 意篡改,并且面对用户的数据访问请求也能做出真 实的回应。在基于区块链所构建的真实存储平台 中,用户以交易的形式请求数据的增加、修改、撤 销等操作,其它用户则可以按需对数据库的内容进 行读取,并基于这些数据完成后续的计算工作。在 对数据存取的整个流程中,区块链数据层提供的可 审计性确保用户在访问数据时可以对其完整性进 行验证;区块链网络层提供的去中心化特性则可以 有效避免单点失效问题;区块链共识层提供的一致 性和不可篡改性则确保用户访问所获取数据的真 实性。因此相比于传统中心化的存储平台,基于区 块链构建的分布式真实存储可以稳定运行,并且有 效避免中心服务器宕机、恶意篡改、隐瞒数据,或 者对不同用户提供不一致的访问结果等问题。 在基于区块链真实存储所构建的网络安全应 用中,存在着数据可验证与不可验证两种情况。数 据可验证是指用户所上传数据的有效性存在清晰 的判断标准,因此其它用户在获取该数据时可以准 确判断其可用性,并基于该数据完成后续的计算工 作,例如域间路由安全中的路由宣告信息、访问控 制机制中的授权策略信息,PKI 中的证书信息;数 据不可验证则是指用户所上传数据的可用性无法 显性判断,因此往往需要引入信用评分、用户评价 等机制来辅助用户对数据的可用性进行预判,例如 协同式入侵检测中各系统上传的报警信息、检测模 型信息等。 (2)真实计算是在真实存储的基础之上,引 入智能合约,进一步构建一个真实计算平台,确保 计算流程的公开、透明、可验证,以及计算结果的 真实、可信、不可篡改。在该计算平台中,计算逻 辑被编码进智能合约中并部署在区块链上,用户可 以通过发布交易来触发智能合约的执行,调用智能 合约的交易以及智能合约的执行结果都被真实存 储在区块链中。因此相比于传统中心化、分布式计 算平台,基于区块链构建的分布式真实计算平台能 在承担用户计算开销的同时,有效解决传统中心化 计算平台计算流程不透明,计算结果不可验证,无 法确保真实性等问题。 在基于区块链真实计算平台所构建的网络安 全应用中,根据计算时机的不同可以分为预先计算 和实时计算两种情况。 预先计算是指提前将要计算的任务交由区块 链执行,并将执行结果保存在区块链中,用户则可 以按需直接对计算结果进行访问。预先计算通常在 计算任务针对不同用户都一致时使用,因此可以提 前计算好对所有用户都适用的结果,例如 PKI 中证 书的验证工作,针对同一证书,所有用户对其验证 流程都是一致的。在预先计算场景下,由于用户在 查询计算结果时只需要进行哈希计算即可验证该 结果的完整性,因此当计算任务繁重时,预先计算 的方式能显著减小用户获取计算结果的时间开销。 实时计算则是指用户在有计算任务需求时,通 过交易调用智能合约,等待交易被打包执行,并获 取执行结果。实时计算所涉及的中间数据通常都随 着调用者的不同而不同,因此无法像预先计算那样
徐恪等:基于区块链的网络安全体系结构与关键技术研究进展 提前计算一个对所有用户都适用的结果。例如访问为两类,其一是将激励机制与智能合约层结合,该 控制机制中,针对同一资源,不同用户的访问控制方式主要是利用区块链真实计算的特点实现激励 策略是不一致的,因此需要在用户请求访问时根据发放、惩罚实施的公开透明性,例如漏洞检测众包 用户的身份实时判定用户的访问权限。在基于实时中漏洞赏金的的发放,PKI中恶意证书的举报奖励 计算所构建的的网络安全技术中,用户每次调用智以及CA发布恶意证书的惩罚措施;其二是将激励 能合约都需要等待交易的打包执行,从而造成一定机制与应用层结合,该方法主要是根据区块链记录 的时间等待开销,为了有效缓解时间等待开销带来的用户历史行为以及被举报、评价历史等计算用户 的影响,针对时间敏感型的应用,通常可以采用联的信用评分,从而对用户进行区别化服务,例如协 盟链来增加回应速度, 同式网络入侵检测中根据信用评分选择信息来源 (3)真实激励是在区块链真实可信的基础上 本文主要内容可以总结为图3所示,区块链以 引入激励机制,实现公开透明的奖惩措施,在如今真实存储、真实计算和真实激励三种形式支撑着网 面临网络复杂度持续扩大的情形下,真实激励是调络安全体系架构及关键技术,但在区块链的具体应 动大家参与网络安全建设积极性的重要手段。现阶用过程中也应该注意区块链隐私性、可扩展性、安 段利用区块链真实激励的网络安全应主要可以分全性等问题,本文后续将围绕图3具体展开介绍。 1、漏洞检测众包 <心应用层安全 2、访问控制机制 中心化PI安全 传输层安全安 PKI< 2、构建去中心化PKI 1、协同式网络入侵检测 网络层安全 2、域间路由安全 block i+1 K+- 1、真实存储 1、隐私问题 2、真实计算< 2、可扩展性问题 3、真实激励 3、安全问题 4、结构演进方向 区块链网络 图3基于区块链的网络安全体系结构与关键技术研究概括图 4.1协同式网络入侵检测 区块链在网络层安全的应用 网络入侵检测系统( Network Intrusion Detection System,NIDS)通常是部署在网络重要链 在TCPP协议体系中,网络层主要是确保数路旁监听网络流量,当发现异常时及时发出警报并 据包点到点的传输,其中控制平面负责路由策略的对异常流量进行过滤,从而确保网络数据平面的安 协商,从而指导数据平面的流量转发。因此,网络全。协同式网络入侵检测系统( Collaborative nids 层安全相应的可以分为控制平面安全和数据平面 CNIDS)则是指分布在多个区域的网络入侵检测系 安全,控制平面安全主要是指路由安全,数据平面统互相协作检测大规模的复杂攻击,从而及时做出 安全则是指数据转发平面的流量安全。现阶段区块反应并过滤攻击流量,避免网络遭受更大的损失。 链在网络层数据平面安全应用主要涉及协同式网4.1.1协同式网络入侵检测现状 络入侵检测领域,在控制平面安全应用则主要涉及 CNIDS根据交互信息的流向主要分为集中式、 域间路由安全领域。本节将从这两个领域详细介绍分层式以及分布式三种组织架构,其中集中式架构 区块链在网络层安全方面的应用。 和分层式架构中都引入了中心服务器,不仅会造成 单点故障问题,还会因为涉及不同组织之间的合作
?期 徐 恪等:基于区块链的网络安全体系结构与关键技术研究进展 7 提前计算一个对所有用户都适用的结果。例如访问 控制机制中,针对同一资源,不同用户的访问控制 策略是不一致的,因此需要在用户请求访问时根据 用户的身份实时判定用户的访问权限。在基于实时 计算所构建的的网络安全技术中,用户每次调用智 能合约都需要等待交易的打包执行,从而造成一定 的时间等待开销,为了有效缓解时间等待开销带来 的影响,针对时间敏感型的应用,通常可以采用联 盟链来增加回应速度, (3)真实激励是在区块链真实可信的基础上 引入激励机制,实现公开透明的奖惩措施,在如今 面临网络复杂度持续扩大的情形下,真实激励是调 动大家参与网络安全建设积极性的重要手段。现阶 段利用区块链真实激励的网络安全应主要可以分 为两类,其一是将激励机制与智能合约层结合,该 方式主要是利用区块链真实计算的特点实现激励 发放、惩罚实施的公开透明性,例如漏洞检测众包 中漏洞赏金的的发放,PKI 中恶意证书的举报奖励 以及 CA 发布恶意证书的惩罚措施;其二是将激励 机制与应用层结合,该方法主要是根据区块链记录 的用户历史行为以及被举报、评价历史等计算用户 的信用评分,从而对用户进行区别化服务,例如协 同式网络入侵检测中根据信用评分选择信息来源。 本文主要内容可以总结为图 3 所示,区块链以 真实存储、真实计算和真实激励三种形式支撑着网 络安全体系架构及关键技术,但在区块链的具体应 用过程中也应该注意区块链隐私性、可扩展性、安 全性等问题,本文后续将围绕图 3 具体展开介绍。 网络层安全 传输层安全 应用层安全 PKI 安 全 支撑 1、漏洞检测众包 2、访问控制机制 1、隐私问题 2、可扩展性问题 3、安全问题 4、结构演进方向 block i-1 block i block i+1 区块链网络 1、真实存储 2、真实计算 3、真实激励 1、协同式网络入侵检测 2、域间路由安全 1、中心化PKI安全 2、构建去中心化PKI 图 3 基于区块链的网络安全体系结构与关键技术研究概括图 4 区块链在网络层安全的应用 在 TCP/IP 协议体系中,网络层主要是确保数 据包点到点的传输,其中控制平面负责路由策略的 协商,从而指导数据平面的流量转发。因此,网络 层安全相应的可以分为控制平面安全和数据平面 安全,控制平面安全主要是指路由安全,数据平面 安全则是指数据转发平面的流量安全。现阶段区块 链在网络层数据平面安全应用主要涉及协同式网 络入侵检测领域,在控制平面安全应用则主要涉及 域间路由安全领域。本节将从这两个领域详细介绍 区块链在网络层安全方面的应用。 4.1 协同式网络入侵检测 网 络 入 侵 检 测 系 统 ( Network Intrusion Detection System,NIDS)通常是部署在网络重要链 路旁监听网络流量,当发现异常时及时发出警报并 对异常流量进行过滤,从而确保网络数据平面的安 全。协同式网络入侵检测系统(Collaborative NIDS, CNIDS)则是指分布在多个区域的网络入侵检测系 统互相协作检测大规模的复杂攻击,从而及时做出 反应并过滤攻击流量,避免网络遭受更大的损失。 4.1.1 协同式网络入侵检测现状 CNIDS 根据交互信息的流向主要分为集中式、 分层式以及分布式三种组织架构,其中集中式架构 和分层式架构中都引入了中心服务器,不仅会造成 单点故障问题,还会因为涉及不同组织之间的合作
8 徐恪等:基于区块链的网络安全体系结构与关键技术研究进展 2020年 而出现对中心服务器的单点信任问题;分布式架构对信息发布者进行评价,历史评价信息被记录在区 中每个节点都是独立的检测系统,因此完美解决了块链中用于计算信用评分,从而辅助参与者选择报 单点信任和单点故障问题,被认为是 CNIDS的一警信息源。与 TRIDEnt基于评价的信用评分计算机 种理想实现形式。然而,在现有的分布式系统实现制不同,Meng等人2则是提出基于挑战机制来构 中,单一节点往往无法获得全局信息,使得全局检建 CNIDS中的信任管理平台,在该架构中,入侵 测准确度低于集中式架构;此外, CNIDS中每个检测系统在互相共享报警信息的同时随机混入一 节点属于不同的组织,恶意节点可能发布虚假的报些挑战信息;每隔一段时间将正常报警信息的反馈 警信息来协助攻击者,因此存在着节点间的信任问序列和挑战信息的反馈序列作为交易参与共识:若 题。针对这个问题,目前主流的方法是建立一套信该序列中出现异常,即针对挑战信息和针对正常信 用评分系统,每个节点根据历史交互行为以及间断息给出的反馈存在差异,则认为这个反馈序列对应 性的挑战测试对各节点进行评分,并设定基于评分的入侵检测系统存在异常行为,该异常行为被记录 的协作策略1。然而这些方法中每个节点都是独到区块链中并更新对应检测系统的信用评分。 立评分,恶意节点可以只针对少部分人进行攻击 Rodrigues等人则主要针对分布式拒绝服务 尽管在P2P网络信任管理方面,大量研究都是通过( Distributed denial of service,DDoS)攻击提出了 节点之间评分推荐来获取一个全局评分181,但却个协同式防御系统,在该系统中,当任意区域 无法有效的应对多个恶意节点的合谋攻击1 检测到DDoS攻击源后,可将攻击源的地址上传到 4.1.2区块链的具体应用研究 区块链并同步到各个区域,从而提前预防攻击并在 目前区块链在 CNIDS的应用研究思路是将区源端过滤潜在的DDoS攻击流量;Yang等人在该方 块链作为一个真实存储平台用于信息共享,各参与法基础上引入了激励机制,设计了去中心化的互联 者将入侵检测的相关信息同步到区块链中共享给网资源信任框架D24,并将其作为DDoS流量过 其它参与者,从而实现协同式网络入侵检测。根据滤服务的交易平台,当受害者遭受DDoS攻击时可 各检测系统之间共享信息类型的不同, CNIDS可以以在线向攻击者所在区域的管理者购买DDoS流量 分为基于环境信息同步的 CNIDS和基于模型信息过滤服务,该服务通过将攻击者IP信息上传到区块 同步的 CNIDS。 链共享到流量源所在区域,请求在源端对攻击流量 基于环境信息同步的 CNIDS主要思路如图4进行过滤,从而有效防止DDoS流量进一步消耗中 所示,即入侵检测系统之间共享本地检测到的环境间网络以及目标网络的带宽资源 信息并对共享的信息达成共识,因此每个单独的入 侵检测系统可以掌握全局环境信息,从而进行更全 环境检测 获取全局 信息共享 川信息共识 并提前做 面的网络流量检测。例如 Alexopoulos等人于2017 出反应 图4基于环境信息同步的 CNIDS流程图 年初步构想了一个基于区块链的协同式网络入侵 检测系统框架,该架构由报警信息交换层以及共 与环境信息同步中各入侵检测系统之间交互 识层所组成,其中报警信息交换层负责局部报警信实时的环境检测信息不同,模型信息同步的主要思 息的扩散,共识层则确保区块链中报警信息的一致路如图5所示,即检测系统之间共享本地检测模型 性。之后 Alexopoulos等人进行了深入设计并提出并对共享的模型数据达成共识,检测系统则可以从 了 TRIDEn21,其中引入了激励机制以及信任管理区块链中筛选模型进行训练从而获得一个具有更 机制,构建了一个报警信息交易市场,参与者可以强检测能力的综合模型。例如 Golomb等人四提出 根据信用评分选择入侵检测系统并向其订阅报警用区块链来构建一个入侵检测模型共享平台,参与 信息,从而激励参与者共享报警信息的同时有效遏节点用本地信息训练出局部入侵检测模型并将其 制内部节点攻击。在该平台中,参与方以智能合约上传到区块链,然后综合链上的局部模型训练出 的形式发布报警信息的出售合约,合约中包含发布个检测能力更强的模型;Li等人也提出用区块链来 者身份、报警信息的价格,出售的报警信息类型;构建一个基于误用检测的协同式网络入侵监测系 参与者可以进行订阅并与发布者建立连接实现报统,每个检测系统将自己所学习到的入侵特征信 警信息的接收,并建立一个链下单向支付通道,根息记录到区块链中,从而使整个入侵检测系统的特 据收到的报警信息完成实时付款;信息消费者可以征库更全; Liang等人则针对车与万物互联
8 徐 恪等:基于区块链的网络安全体系结构与关键技术研究进展 2020 年 而出现对中心服务器的单点信任问题;分布式架构 中每个节点都是独立的检测系统,因此完美解决了 单点信任和单点故障问题,被认为是 CNIDS 的一 种理想实现形式。然而,在现有的分布式系统实现 中,单一节点往往无法获得全局信息,使得全局检 测准确度低于集中式架构[15];此外,CNIDS 中每个 节点属于不同的组织,恶意节点可能发布虚假的报 警信息来协助攻击者,因此存在着节点间的信任问 题。针对这个问题,目前主流的方法是建立一套信 用评分系统,每个节点根据历史交互行为以及间断 性的挑战测试对各节点进行评分,并设定基于评分 的协作策略[16-17]。然而这些方法中每个节点都是独 立评分,恶意节点可以只针对少部分人进行攻击; 尽管在 P2P 网络信任管理方面,大量研究都是通过 节点之间评分推荐来获取一个全局评分[18-19],但却 无法有效的应对多个恶意节点的合谋攻击[18]。 4.1.2 区块链的具体应用研究 目前区块链在 CNIDS 的应用研究思路是将区 块链作为一个真实存储平台用于信息共享,各参与 者将入侵检测的相关信息同步到区块链中共享给 其它参与者,从而实现协同式网络入侵检测。根据 各检测系统之间共享信息类型的不同,CNIDS 可以 分为基于环境信息同步的 CNIDS 和基于模型信息 同步的 CNIDS。 基于环境信息同步的 CNIDS 主要思路如图 4 所示,即入侵检测系统之间共享本地检测到的环境 信息并对共享的信息达成共识,因此每个单独的入 侵检测系统可以掌握全局环境信息,从而进行更全 面的网络流量检测。例如 Alexopoulos 等人于 2017 年初步构想了一个基于区块链的协同式网络入侵 检测系统框架[20],该架构由报警信息交换层以及共 识层所组成,其中报警信息交换层负责局部报警信 息的扩散,共识层则确保区块链中报警信息的一致 性。之后 Alexopoulos 等人进行了深入设计并提出 了 TRIDEnt [21],其中引入了激励机制以及信任管理 机制,构建了一个报警信息交易市场,参与者可以 根据信用评分选择入侵检测系统并向其订阅报警 信息,从而激励参与者共享报警信息的同时有效遏 制内部节点攻击。在该平台中,参与方以智能合约 的形式发布报警信息的出售合约,合约中包含发布 者身份、报警信息的价格,出售的报警信息类型; 参与者可以进行订阅并与发布者建立连接实现报 警信息的接收,并建立一个链下单向支付通道,根 据收到的报警信息完成实时付款;信息消费者可以 对信息发布者进行评价,历史评价信息被记录在区 块链中用于计算信用评分,从而辅助参与者选择报 警信息源。与 TRIDEnt 基于评价的信用评分计算机 制不同,Meng 等人[22]则是提出基于挑战机制来构 建 CNIDS 中的信任管理平台,在该架构中,入侵 检测系统在互相共享报警信息的同时随机混入一 些挑战信息;每隔一段时间将正常报警信息的反馈 序列和挑战信息的反馈序列作为交易参与共识;若 该序列中出现异常,即针对挑战信息和针对正常信 息给出的反馈存在差异,则认为这个反馈序列对应 的入侵检测系统存在异常行为,该异常行为被记录 到区块链中并更新对应检测系统的信用评分。 Rodrigues 等人则主要针对分布式拒绝服务 (Distributed Denial of Service,DDoS)攻击提出了 一个协同式防御系统[23],在该系统中,当任意区域 检测到 DDoS 攻击源后,可将攻击源的地址上传到 区块链并同步到各个区域,从而提前预防攻击并在 源端过滤潜在的 DDoS 攻击流量;Yang 等人在该方 法基础上引入了激励机制,设计了去中心化的互联 网资源信任框架 DII[24],并将其作为 DDoS 流量过 滤服务的交易平台,当受害者遭受 DDoS 攻击时可 以在线向攻击者所在区域的管理者购买 DDoS 流量 过滤服务,该服务通过将攻击者 IP 信息上传到区块 链共享到流量源所在区域,请求在源端对攻击流量 进行过滤,从而有效防止 DDoS 流量进一步消耗中 间网络以及目标网络的带宽资源。 环境检测 信息共享 获取全局 视图 信息共识 全局检测 并提前做 出反应 图 4 基于环境信息同步的 CNIDS 流程图 与环境信息同步中各入侵检测系统之间交互 实时的环境检测信息不同,模型信息同步的主要思 路如图 5 所示,即检测系统之间共享本地检测模型 并对共享的模型数据达成共识,检测系统则可以从 区块链中筛选模型进行训练从而获得一个具有更 强检测能力的综合模型。例如 Golomb 等人[25]提出 用区块链来构建一个入侵检测模型共享平台,参与 节点用本地信息训练出局部入侵检测模型并将其 上传到区块链,然后综合链上的局部模型训练出一 个检测能力更强的模型;Li 等人也提出用区块链来 构建一个基于误用检测的协同式网络入侵监测系 统[26],每个检测系统将自己所学习到的入侵特征信 息记录到区块链中,从而使整个入侵检测系统的特 征 库 更 全 ; Liang 等 人 则 针 对 车 与 万 物 互 联
徐恪等:基于区块链的网络安全体系结构与关键技术研究进展 ( Vehicle-to-everything,Vx)m场景基于区块链应用层相结合,根据参与者的历史行为评价为其计 设计了一个可以动态更新的协同式入侵检测架构,算一个全局信用评分,并基于该信用评分设置信息 在该架构中,节点按地理位置不同分为多个区域,采纳策略,因此各用户可以实时选取所需的数据而 每个区域组建一个微型区块链用于收集该区域智不用等待其它用户评价后再做选择。上述三种方式 能设备上传的入侵样例和入侵检测模型,然后动态各有优缺点,因此在未来基于区块链的协同式入侵 训练出最新的综合入侵检测模型,并将该模型部署检测系统研究中,如何针对具体场景设计一套共享 到进入该区域的智能汽车中。针对如何共享并选择数据采纳策略需要重点考虑。 合适的模型来训练综合模型,我们在最近的工作中42域间路由安全 提出了 SeccL2,一个基于区块链技术的联邦学习 边界网关协议( Border Gateway Protocol,BGP) 平台。为了解决用户数据隐私问题并预防攻击者上作为网络层控制平面中被广泛采纳的域间路由选 传恶意模型来对整体模型的训练进行攻击,该平台择协议,其在设计之初并没有考虑安全性,导致各 要求参与者用本地数据集对模型进行训练;每一轮自治域( Autonomous System,AS)宣告的路由会 训练结束后参与者上传模型参数的差值;各参与者被邻居默认接受。由于BGP协议的这个缺陷,恶 将区块链中的参数差值分别融合到模型中并用本意AS可以宣告虚假的路由源信息或者AS路径信 地数据集进行评估,然后将评估的结果上传到区块息来劫持目标网络的流量,巴基斯坦劫持 链:智能合约根据所有参与者的评估选出最好的模 You Tube,以及大量银行地址被劫持等事件所造 型参数并通知各参与者将其融入到训练模型中,然成的影响也正体现了目前BGP安全问题的严重性, 后继续下一轮训练。 SeccL平台的整个训练流程无因此如何验证各AS所宣告域间路由信息的真实性 需参与者公开本地数据集,且每轮训练的模型是综成为域间路由安全中亟待解决的问题。 合所有参与者评价所选出,因此有效解决了用户数421域间路由安全现状 据隐私问题和共享恶意模型的问题。Shen等人 现阶段域间路由安全机制主要是建立在资源 则是针对模型训练过程中对用户共享数据的评价密钥管理设施( Resource Public Key Infrastructure, 问题,提出用 Shapley值来判定用户上传数据对整RPK)上,其主要思路是在分配AS号与P地 体的贡献度,并基于所计算的贡献度对用户发放激址块资源的同时,将每个AS号与其对应的IP地址 励,从而激励用户贡献有效数据。 块进行绑定,并将这些绑定信息存储在相应的站点 供路由器访问,而这些信息则作为AS宣告路由 入侵检测 模型信息 源的合理性凭证。正是基于RPKI这一架构,预防 模型共享 模型筛选 路由前缀劫持的路由源认证算法到以及预防路 图5基于模型信息同步的CNDS流程图 径劫持的真实路径验证算法被提出。这些方法 虽然在理论上能够有效解决域间路由安全问题,但 4.1.3讨论与总结 在实际情况中,RPKⅠ、源路由认证算法以及真实路 总而言之,目前基于区块链的CNDS研究主径验证算法的部署情况并不理想 要是将区块链作为一个分布式的真实存储平台实 (1)RPKI的部署方面, Wahlisch等人通过测 现信息共享。然而,与其它区块链应用中交易存在量发现许多大规模的CDN( Content Delivery 清晰的对错判断标准不同,报警信息或者是检测模Neok)都没部署RPK5,NsT的最新监测情 型判断标准相对模糊,节点无法有效判断信息的可况也显示只有168%IPV4地址前缀部署在RPKI 用性,因此如何对这些信息设置清晰的选择标准是上;此外 Gilad等人发现由于人为配置错误原因, 个难题。 SeccL平台悶综合用户的评价实现模型RPKI中存在着大量的错误路由源认证信息( Route 的筛选是一种有效的解决措施,但该方法每次采纳 数据前需要等待大家的投票,不适合对实时性要求 ORensysBlog.PakistanhijacksYou'tube.https:/dyn.com/blogl 较高的场景:Shen等人叫基于 Shapley值计算用户 贡献度虽然可行,但是当涉及共享数据用户过多 2 Adrien de Beaupre. BGP multiple banking addresses hijack 时,会造成很大的计算开销;另一种解决方式则是 d.https://isc.sans.edw/diarv/bgp+multiple+bankingtaddressesT hacked62492013,7,29 在真实存储的基础上引入真实激励,将激励机制与 3NistRpkiMonitorhttps://rpki-monitor.antdnistgovl2019,1 0,6
?期 徐 恪等:基于区块链的网络安全体系结构与关键技术研究进展 9 (Vehicle-to-everything,V2X)[27]场景基于区块链 设计了一个可以动态更新的协同式入侵检测架构, 在该架构中,节点按地理位置不同分为多个区域, 每个区域组建一个微型区块链用于收集该区域智 能设备上传的入侵样例和入侵检测模型,然后动态 训练出最新的综合入侵检测模型,并将该模型部署 到进入该区域的智能汽车中。针对如何共享并选择 合适的模型来训练综合模型,我们在最近的工作中 提出了 SecCL [28],一个基于区块链技术的联邦学习 平台。为了解决用户数据隐私问题并预防攻击者上 传恶意模型来对整体模型的训练进行攻击,该平台 要求参与者用本地数据集对模型进行训练;每一轮 训练结束后参与者上传模型参数的差值;各参与者 将区块链中的参数差值分别融合到模型中并用本 地数据集进行评估,然后将评估的结果上传到区块 链;智能合约根据所有参与者的评估选出最好的模 型参数并通知各参与者将其融入到训练模型中,然 后继续下一轮训练。SecCL 平台的整个训练流程无 需参与者公开本地数据集,且每轮训练的模型是综 合所有参与者评价所选出,因此有效解决了用户数 据隐私问题和共享恶意模型的问题。Shen 等人[29] 则是针对模型训练过程中对用户共享数据的评价 问题,提出用 Shapley 值来判定用户上传数据对整 体的贡献度,并基于所计算的贡献度对用户发放激 励,从而激励用户贡献有效数据。 模型信息 共识 入侵检测 模型共享 模型筛选 训练综合 检测模型 图 5 基于模型信息同步的 CNIDS 流程图 4.1.3 讨论与总结 总而言之,目前基于区块链的 CNIDS 研究主 要是将区块链作为一个分布式的真实存储平台实 现信息共享。然而,与其它区块链应用中交易存在 清晰的对错判断标准不同,报警信息或者是检测模 型判断标准相对模糊,节点无法有效判断信息的可 用性,因此如何对这些信息设置清晰的选择标准是 一个难题。SecCL 平台[28]综合用户的评价实现模型 的筛选是一种有效的解决措施,但该方法每次采纳 数据前需要等待大家的投票,不适合对实时性要求 较高的场景;Shen 等人[29]基于 Shapley 值计算用户 贡献度虽然可行,但是当涉及共享数据用户过多 时,会造成很大的计算开销;另一种解决方式则是 在真实存储的基础上引入真实激励,将激励机制与 应用层相结合,根据参与者的历史行为评价为其计 算一个全局信用评分,并基于该信用评分设置信息 采纳策略,因此各用户可以实时选取所需的数据而 不用等待其它用户评价后再做选择。上述三种方式 各有优缺点,因此在未来基于区块链的协同式入侵 检测系统研究中,如何针对具体场景设计一套共享 数据采纳策略需要重点考虑。 4.2 域间路由安全 边界网关协议(Border Gateway Protocol,BGP) 作为网络层控制平面中被广泛采纳的域间路由选 择协议,其在设计之初并没有考虑安全性,导致各 自治域(Autonomous System,AS)宣告的路由会 被邻居默认接受。由于 BGP 协议的这个缺陷,恶 意 AS 可以宣告虚假的路由源信息或者 AS 路径信 息 来 劫 持 目 标 网 络 的 流 量 , 巴 基 斯 坦 劫 持 YouTube①,以及大量银行地址被劫持②等事件所造 成的影响也正体现了目前 BGP 安全问题的严重性, 因此如何验证各 AS 所宣告域间路由信息的真实性 成为域间路由安全中亟待解决的问题。 4.2.1 域间路由安全现状 现阶段域间路由安全机制主要是建立在资源 密钥管理设施(Resource Public Key Infrastructure, RPKI)[30]上,其主要思路是在分配 AS 号与 IP 地 址块资源的同时,将每个 AS 号与其对应的 IP 地址 块进行绑定,并将这些绑定信息存储在相应的站点 供路由器访问[31],而这些信息则作为 AS 宣告路由 源的合理性凭证。正是基于 RPKI 这一架构,预防 路由前缀劫持的路由源认证算法[32-33]以及预防路 径劫持的真实路径验证算法[2][34]被提出。这些方法 虽然在理论上能够有效解决域间路由安全问题,但 在实际情况中,RPKI、源路由认证算法以及真实路 径验证算法的部署情况并不理想: (1)RPKI 的部署方面,Wählisch 等人通过测 量 发 现 许 多 大 规 模 的 CDN ( Content Delivery Network)都没部署 RPKI[35],NIST 的最新监测情 况 ③也显示只有 16.8%IPV4 地址前缀部署在 RPKI 上;此外 Gilad 等人[36]发现由于人为配置错误原因, RPKI 中存在着大量的错误路由源认证信息(Route ① Rensys Blog. Pakistan hijacks YouTube. https://dyn.com/blog/ pakistan-hijacks-youtube-1/ 2018,2,24 ② Adrien de Beaupre. BGP multiple banking addresses hijacke d. https://isc.sans.edu/diary/BGP+multiple+banking+addresses+ hijacked/16249 2013,7,29 ③ NIST RPKI Monitor. https://rpki-monitor.antd.nist.gov/ 2019,1 0,6
徐恪等:基于区块链的网络安全体系结构与关键技术研究进展 2020年 Origin authorization,ROA),造成了RPKI体系的ROA一样作为源地址认证的基础,考虑到现有 信任问题,尽管作者提出了ROAe机制用于发现IPV4地址已分配完,作者认为 InBlock可以作为未 错误ROA并用邮箱或网站对管理者进行警告,但来IPV6地址的交易平台 是该机制依靠大家自发参与,缺乏激励机制以及对基于区块链实现源路由认证以及真实路径验 管理机构的监督惩罚措施。 证的研究中,根据区块链中记录的信息不同可以分 (2)路由源认证算法部署方面,Glad等人为两种。第一种主要思想如图7所示,即通过区块 测量得出,只有16%的AS部署了基于RPKI的路链来记录各AS的路由源宣告信息以及路径宣告信 由源认证算法,而针对路由源认证失败的路由信息,并结合IP地址块的分配信息来判断路由宣告的 息,只有不到6%的AS选择拒绝接受 合法性。例如Hari等人设计的互联网区块链 (3)真实路径验证算法部署方面, Lychee等 Internet blockchain)图,其中各AS与注册机构 人提出这些算法的实际部署情况并不理想,并且参与区块链的维护,并将初始的数字资源分配情况 这些算法只有在全面部署后才能带来极大的安全以及相应的ROA信息记录到初始区块中;当注册 提升,部分部署情况下不仅无法对域间路由安全做机构发布新的ROA信息时,构造ROA交易,ROA 出改善,而且可能会引发严重的逻辑漏洞。 交易的输入为相应的IP地址块(分配新的地址块 42.2区块链的具体应用研究 时)或过期的ROA信息(重新分配旧地址块时), 将区块链运用于域间路由安全的主要思路是输出则为该P地址块绑定的AS;当AS宣告路径 将区块链作为一个真实存储平台,来存储域间路由时,创建一个路径宣告交易,交易的输入为相应的 认证所需要的相关信息,从而确保AS可以基于这ROA信息(宣告路由源时)或上一个AS宣告的路 些信息实现安全的域间路由认证。这些研究根据所径信息(宣告路径时),输出则为与该AS建立了邻 实现目标的不同可以分为两大类:(1)基于区块链居关系的多个AS地址;ROA交易和路径宣告交易 构建一个去中心化的RPKI:(2)在去中心化RPKI经矿工节点验证后被记录到区块链中供边界路由 基础上实现源路由认证以及真实路径验证, 器査询,从而同时实现路由源认证和真实路径验证 基于区块链构建去中心化RPKI的主要思想如两种功能。刘冰洋等人设计的D以及Saad等 图6所示,即用区块链记录IP地址块的分配和交易人设计的 routeChain'也都采取了类似的思想,其 信息,从而确定每个IP地址块的所属身份。例如中DI提出将地址块的后续交易转让记录也记录到 Paillisse等人所提出的 IPchain'38,他们认为IP地址区块链中; Route Chain则提出对AS进行划分区域 块与数字货币一样,具有流转性(可进行分配与再并实现分层管理,使得每个区域能够更快地达成共 分配),都能被有限分割,而且在同一时刻都只能识,从而降低延迟并增强可扩展性 被一方拥有,因此用区块链构建一个去中心化的 RPKI架构,即用区块链来模拟RPKI地址分配流程 d block i-I block block i+l 将IP地址的分配历史都记录在区块链上,并提出 PoS共识比PoW共识更适合用来确保IP块的安全 录更新IP地址 分配。Xing等人设计现了基于区块链的资源 交易块与AS的绑 信息定信息 管理平台 BGPCoin,其中对RPKI不同角色之间的 布地址分 发布地址转 上、更新交易 地址分配设计了详细的智能合约,参与者调用相应 IANA 智能合约 的智能合约进行地址的申请和分配,分配信息则被 存储在区块链中提供查询。此外, BGPCoin引入了 发布地 用户监管模式,提出AS边界路由器可以担任检测 址出售 者,当发现错误ROA时调用ROA检测合约,上报 请求地 请求购买 错误ROA并获得相应的激励。 Stefano等人则将区 块链与IP地址交易市场结合,提出了 InBlock架构 H142),该架构记录每一笔IP地址的交易记录,每笔 图6去中心化的RPKI架构图 交易记录都包含具体的IP地址块信息以及被授予 第二种则是记录各AS的路由源信息以及AS 该地址块的组织账户ID,而这些交易记录可以像之间的邻居关系,在收到路由宣告后根据区块链所
10 徐 恪等:基于区块链的网络安全体系结构与关键技术研究进展 2020 年 Origin Authorization,ROA),造成了 RPKI 体系的 信任问题,尽管作者提出了 ROAlert 机制用于发现 错误 ROA 并用邮箱或网站对管理者进行警告,但 是该机制依靠大家自发参与,缺乏激励机制以及对 管理机构的监督惩罚措施。 (2)路由源认证算法部署方面,Gilad 等人[36] 测量得出,只有 16%的 AS 部署了基于 RPKI 的路 由源认证算法,而针对路由源认证失败的路由信 息,只有不到 6%的 AS 选择拒绝接受。 (3)真实路径验证算法部署方面,Lychev 等 人[37]提出这些算法的实际部署情况并不理想,并且 这些算法只有在全面部署后才能带来极大的安全 提升,部分部署情况下不仅无法对域间路由安全做 出改善,而且可能会引发严重的逻辑漏洞。 4.2.2 区块链的具体应用研究 将区块链运用于域间路由安全的主要思路是 将区块链作为一个真实存储平台,来存储域间路由 认证所需要的相关信息,从而确保 AS 可以基于这 些信息实现安全的域间路由认证。这些研究根据所 实现目标的不同可以分为两大类:(1)基于区块链 构建一个去中心化的 RPKI;(2)在去中心化 RPKI 基础上实现源路由认证以及真实路径验证。 基于区块链构建去中心化 RPKI 的主要思想如 图 6 所示,即用区块链记录 IP 地址块的分配和交易 信息,从而确定每个 IP 地址块的所属身份。例如 Paillisse 等人所提出的 IPchain[38],他们认为 IP 地址 块与数字货币一样,具有流转性(可进行分配与再 分配),都能被有限分割,而且在同一时刻都只能 被一方拥有,因此用区块链构建一个去中心化的 RPKI架构,即用区块链来模拟RPKI地址分配流程, 将 IP 地址的分配历史都记录在区块链上,并提出 PoS 共识比 PoW 共识更适合用来确保 IP 块的安全 分配。 Xing 等人[39-40]设计现了基于区块链的资源 管理平台 BGPCoin,其中对 RPKI 不同角色之间的 地址分配设计了详细的智能合约,参与者调用相应 的智能合约进行地址的申请和分配,分配信息则被 存储在区块链中提供查询。此外,BGPCoin 引入了 用户监管模式,提出 AS 边界路由器可以担任检测 者,当发现错误 ROA 时调用 ROA 检测合约,上报 错误 ROA 并获得相应的激励。Stefano 等人则将区 块链与 IP 地址交易市场结合,提出了 InBlock 架构 [41-42],该架构记录每一笔 IP 地址的交易记录,每笔 交易记录都包含具体的 IP 地址块信息以及被授予 该地址块的组织账户 ID,而这些交易记录可以像 ROA 一样作为源地址认证的基础,考虑到现有 IPV4 地址已分配完,作者认为 InBlock 可以作为未 来 IPV6 地址的交易平台。 基于区块链实现源路由认证以及真实路径验 证的研究中,根据区块链中记录的信息不同可以分 为两种。第一种主要思想如图 7 所示,即通过区块 链来记录各 AS 的路由源宣告信息以及路径宣告信 息,并结合 IP 地址块的分配信息来判断路由宣告的 合法性。例如 Hari 等人设计的互联网区块链 (Internet Blockchain)[43],其中各 AS 与注册机构 参与区块链的维护,并将初始的数字资源分配情况 以及相应的 ROA 信息记录到初始区块中;当注册 机构发布新的 ROA 信息时,构造 ROA 交易,ROA 交易的输入为相应的 IP 地址块(分配新的地址块 时)或过期的 ROA 信息(重新分配旧地址块时), 输出则为该 IP 地址块绑定的 AS;当 AS 宣告路径 时,创建一个路径宣告交易,交易的输入为相应的 ROA 信息(宣告路由源时)或上一个 AS 宣告的路 径信息(宣告路径时),输出则为与该 AS 建立了邻 居关系的多个 AS 地址;ROA 交易和路径宣告交易 经矿工节点验证后被记录到区块链中供边界路由 器查询,从而同时实现路由源认证和真实路径验证 两种功能。刘冰洋等人设计的 DII[44]以及 Saad 等 人设计的 RouteChain[45]也都采取了类似的思想,其 中 DII 提出将地址块的后续交易转让记录也记录到 区块链中;RouteChain 则提出对 AS 进行划分区域 并实现分层管理,使得每个区域能够更快地达成共 识,从而降低延迟并增强可扩展性。 block i-1 block i block i+1 IANA 智能合约 更新IP地址 块与AS的绑 定信息 RIR ISP 发布地址分 配交易 发布地 址出售 交易 记录 交易 信息 发布地址转 让、更新交易 请求地 址分配 请求购买 地址块 图 6 去中心化的 RPKI 架构图 第二种则是记录各 AS 的路由源信息以及 AS 之间的邻居关系,在收到路由宣告后根据区块链所