算力网络资源管理安全架构与关键技术
2023-08-08高凯辉
高凯辉 李 丹, 陈 力
1 清华大学 北京 100084
2 中关村实验室 北京 100083
引言
近年来,随着5G、人工智能、物联网等新技术向各行业渗透,数字经济快速发展,全社会产生了海量数据[1],数据处理需要云、边、端协同的强大算力和广泛部署的高速网络。2023年2月,中共中央、国务院印发了《数字中国建设整体布局规划》,提出“系统优化算力基础设施布局,促进东西部算力高效互补和协同联动”[2]。我国提出的“东数西算”工程正在加快构建算力网络体系[3]。算力网络(Computing First Network,CFN)是以算为中心、网为根基,与云计算、人工智能、边缘计算、智能终端、网络安全等技术深度融合,提供一体化服务的新型信息基础设施[4]。
算力网络在助力数字生产生活的同时,也带来暴露面增多、算力滥用、数据泄露等安全问题[5]。目前,业界对算力网络的整体架构达成共识[5-11],其主要包含三个层面:基础设施层、管理调度层、运营服务层。本文主要关注管理调度层的安全需求,聚焦算力网络资源管理安全架构与关键技术,保障算力资源供应方和消费方的真实可信,以及算力网络资源管理过程中的隐私安全,全面提升算力网络资源管理体系的安全能力。
1 背景
1.1 算力网络研究现状
算力网络的整体架构包含基础设施、管理调度和运营服务三个层面。基础设施层提供底层算力资源,以及算力间的高速互联;管理调度层是算力网络的中枢,实现算力网络资源的安全接入、统一管理、智能调度和全局优化;运营服务层是算力网络服务提供平台,实现算力网络产品的一体化供给和消费[5]。
在算力网络管理调度层面,业界相关研究工作探讨了算力感知网络架构[6-7]、基于IPv6/SRv6的算力资源标记方式[12],以及利用区块链技术存储算力资源相关敏感信息[13]。同时,学术界对于算力网络整体安全架构[5]、算力交易[13]、算力路由和计算任务调度[8,12]、资源分配[9-10]、编排管理[9,11]也展开了研究。
1.2 算力网络资源管理安全挑战
在算力网络管理调度的安全方面,有研究工作提出利用区块链对算力用户注册、算力资源池注册、算力交易、信誉评估等进行安全可信保障[13]。另有研究为边缘算力节点设计了一种“Watchdog”协议[14],以及研究算力网络中联邦学习任务的安全和运维问题[15]。然而,算力网络资源管理尚未构建体系化的安全架构,仍然面临着以下安全挑战。
1)参与者不可信:攻击者会冒充算力资源供应方或消费方接入算力网络资源管理系统,以实现缓存污染、数据窃取等攻击。
2)暴露面增多:算力网络资源管理过程涉及众多远程交互,这些过程都可能遭遇中间人攻击。
3)算力滥用:攻击者利用算力网络提供的强大算力实现网络攻击或其他恶意行为。
4)拒绝服务攻击:算力网络资源管理系统会遭遇攻击者的过度使用而无法处理合法请求。
2 算力网络资源管理安全架构
算力网络资源管理安全架构如图1 所示。首先,算力资源池(比如终端算力、边缘算力和云端算力等)使用算力资源安全通告协议(Secure Protocol for Computational Resource,S P 4 C R)将自身的算力和服务能力通告给算力资源信息管理系统(Computational Resource Information System,CRIS)。算力资源安全通告协议是一个分布式协议,用于在算力资源池和CRIS服务器之间以及CRIS服务器之间安全地传递算力资源信息。其次,CRIS系统是一个以算力资源管理根服务器(CRIS Root Server)为中心的、由多层级算力资源管理服务器(CRIS Server)组成的分布式系统。为了实现安全和可信的算力网络资源管理,CRIS系统使用高效算力资源校验机制(Efficient Verification for Computational Resource,EV4CR)对算力资源池的服务能力进行远程证明。然后,CRIS系统使用算力请求安全解析机制(Secure Resolution for Computational Request,SR4CR)对用户提交的计算任务进行可信解析。
图1 算力网络资源管理安全架构
2.1 实体
算力网络资源管理安全架构主要包含两类实体:算力资源池和CRIS服务器。满足安全需求的算力网络资源管理架构需要定义这些实体的核心功能要求、与其他实体的交互要求,以及安全防护措施。
1)实体一:算力资源池
算力资源池指的是接入算力网络的算力资源供应方,包括公有云、私有云和边缘云等。接入算力网络的算力资源池需要测量并通告自身的服务能力矩阵。随着算力网络的服务方式从资源式(即用户独占计算资源)向任务式(即用户提交计算任务)转变,算力硬件信息与用户关系的指标(如完成时间、成本等)不匹配的矛盾愈加突出,算力资源池需要将自身算力硬件信息映射为针对某些计算任务的服务能力。比如,算力资源池需评估出其完成不同规模的AI训练任务需要的时间与能耗,形成资源池服务能力矩阵。基于该矩阵,算力网络可以将用户的计算任务调度到最匹配的资源池。
2)实体二:CRIS服务器
算力资源信息管理系统(CRIS)负责存储与校验资源池的算力和其他相关信息,并为算力网络调度系统提供支撑。与DNS系统[16]类似,CRIS使用分布式数据库来存储算力资源等信息和IP地址的映射关系。CRIS系统具有层次化架构,能够从边缘、省市到区域、全国层层汇聚算力资源池的服务能力矩阵,以便于快速解析与响应用户发出的计算请求。在算力网络资源管理安全架构下,CRIS系统除了需要具备高可用性和可扩展性外,还需要提供安全保障。
2.2 工作流程
展开来说,算力网络资源管理安全架构具有以下工作流程。
1)算效评估:为了统一对比异构算力的成本和能耗,接入算力网络的算力资源池需要将自身算力硬件信息映射为服务能力信息,形成资源池服务能力矩阵。
2)算力资源信息通告:算力资源池将服务能力矩阵通告给CRIS服务器,并注册到算力资源数据库中,以此加入到算力网络中。在通告过程中,算力资源安全通告协议(SP4CR)需要保证算力资源供应方的真实性,同时保障供应方的隐私。
3)算效校验:算力资源池可能会故意或者无意地误报算力资源信息,或者被攻击者恶意篡改算力资源通告消息,从而产生算效虚报问题。该问题会导致用户无法得到符合需求的算力,甚至遭遇数据泄露问题。为了解决该问题,CRIS服务器使用面向任务的算力检测算法来保证算力资源池上报的服务能力信息的可信性。
4)算力资源信息存储:CRIS系统使用分布式数据库来存储算力资源等信息和IP地址的映射关系。这些数据库存储在众多层次化CRIS服务器中,以提高系统的可用性和安全性。CRIS系统使用CDN优化技术来提升针对用户计算任务的响应速度。
5)算力请求安全解析与答复:算力请求由算力网络的用户发起,或由低层级CRIS服务器向高层级CRIS服务器发起,实现递归解析,最终用户得到CRIS系统的答复。算力请求解析的目标是在CRIS数据库中查询符合用户需求的算力资源池,此过程涉及多个实体之间的远程交互,SR4CR机制使用加密通信协议[17]和数字证书认证技术[18]来防范解析过程中的中间人攻击。为了实现对于用户请求的语义化感知,SR4CR使用一种基于自然语言的请求模式。另外,CRIS服务器需要过滤异常的请求,防止CRIS服务器资源被滥用。为此,SR4CR利用大语言模型提取请求的语义化特征,并设计双向关联的语义增强模块实现业务意图分类和安全风险评估。
3 算力资源安全通告协议
算力资源通告协议的目标是将泛在的算力资源信息汇聚到算力资源信息管理系统中,并支撑算力网络调度系统。此过程涉及的实体众多、交互复杂,面临着诸多网络和信息安全风险,对算力网络资源管理安全架构有着重要影响。因此,算力网络亟需研究算力资源安全通告协议(SP4CR),如图2所示,SP4CR定义了算力网络资源管理安全架构中的实体的交互行为,该协议定义了以下消息类型。
图2 算力资源通告、请求与响应过程
算力资源通告:在本架构中,算力资源供应方通过将自身的计算能力通告到CRIS系统中来接入算力网络。SP4CR通过数字签名等方式对资源通告进行身份认证,以确保算力资源供应方身份的真实性。同时,SP4CR还需要保护供应方的隐私信息,防止通告消息被劫持、篡改等。
算力资源请求:算力资源请求用于在CRIS系统中查询符合用户需求的算力资源池,此过程涉及算力网络调度系统与CRIS各层级服务器之间的交互,可能会遭遇“中间人攻击”[19]。另外,恶意的资源请求会导致CRIS服务器被滥用,无法响应合法的资源请求。
算力资源响应:由CRIS服务器返回给算力网络调度系统,包含了满足用户需求的算力资源池信息,包括IP地址、时间、收费等信息。算力资源响应可能会遭遇攻击者的恶意篡改和窃听,使得用户访问恶意的算力资源池,甚至将重要数据发送给攻击者。
总而言之,SP4CR协议需要防范以下几类关键安全威胁:1)仿造攻击:攻击者会通过发送虚假通告消息来伪造算力资源池;2)篡改攻击:攻击者会篡改通告消息的内容,使得合法算力资源池无法正常接入算力网络;3)拒绝服务 (DoS) 攻击:攻击者会向CRIS服务器发送大量通告消息,使得SP4CR协议过载,无法处理合法的算力通告消息;4)窃听攻击:攻击者会拦截和窃听通告或响应消息,从而获得算力资源池的敏感信息和访问权;5)重播攻击:攻击者会捕获并重放一个合法的通告消息,以掩盖算力资源池真实的状态变更,使得CRIS服务器无法及时获取算力资源池的最新状态。
在借鉴DNS系统中的诸多安全技术后,SP4CR协议需要使用以下安全机制来防范这些安全威胁。
身份验证和授权机制:该机制是算力网络资源管理安全架构中至关重要的安全措施,其目的是确保只有授权的用户和算力资源池才能够访问系统中的敏感数据,以防止伪造攻击和篡改攻击。在身份验证方面,SP4CR协议采用多种身份验证手段,如数字证书、源地址验证等。此外,CRIS系统建立严格的身份权限策略,限制用户访问系统数据的权限,以最大程度地降低安全风险。在授权机制方面,SP4CR协议采用基于角色的访问控制(RBAC)或基于策略的访问控制(ABAC)等授权模型。
加密技术:加密技术用于保护通告、请求和响应等消息的机密性和完整性,它可以在数据传输过程中对消息进行加密,防止信息泄露和篡改。常用的加密技术包括对称加密和非对称加密。对称加密使用同一密钥进行加密和解密,因此密钥的保护和分发需要非常谨慎。非对称加密则使用一对密钥,公钥用于加密数据,私钥用于解密数据。相比之下,非对称加密具有更高的安全性和可靠性。
速率限制和其他反DoS措施:为了防范DoS攻击,SP4CR协议和CRIS系统需要采取速率限制和其他反DoS措施。速率限制通过限制特定资源在单位时间内的请求次数来防止系统过载。此外,CRIS系统部署其他反DoS 措施,例如IP黑名单、白名单机制、防火墙、反向代理等技术。其中IP黑名单和白名单机制可以限制指定IP地址的请求,防范不可信来源的攻击;防火墙可以过滤恶意流量,防止攻击者占用网络带宽;反向代理可以屏蔽CRIS服务器的IP地址,提高系统的安全性。
分布式ID生成技术:为了防范重播攻击,SP4CR协议使用Snowflake算法[20]来为消息生成ID和时间戳。Snowflake算法是一种轻量的分布式ID生成算法,它通过使用时间戳、机器ID和序列号来生成全局唯一的消息ID。其中时间戳用于保证ID在时序上的唯一性,机器ID用于区分不同的机器,序列号用于避免同一毫秒内生成重复的ID。通过使用Snowflake算法,SP4CR协议可以确保每个消息ID的唯一性,防范重播攻击。
通过将这些安全措施纳入SP4CR协议,算力网络资源管理安全架构能够抵御一系列潜在的安全威胁。
4 高效算力资源校验机制
算力资源池可能会误报自身算力资源信息,从而引发资源虚报问题,另外攻击者也可能伪造或篡改算力资源通告消息,向CRIS系统注入恶意的算力资源池。这些问题会使用户的算力请求无法得到及时响应,并且泄露敏感数据。为了保证算力资源池上报的算力资源信息的真实性,CRIS系统使用高效算力资源校验机制(EV4CR)对算力资源池的真实算效进行远程证明[21]。
EV4CR机制的核心是面向任务的算力检测算法。虽然算力资源池具有CPU、GPU和FPGA等异构的计算资源,但其最终只会上报针对典型任务的服务能力矩阵。因此,CRIS系统只需要设计一些有代表性的计算任务(例如深度学习训练任务、复杂哈希函数计算任务),这些计算任务具有不同的计算资源、内存容量和内存带宽需求,因此在不同的计算条件下有不同的执行效率。当CRIS系统收到算力资源池的资源通告消息后,根据其所声明的服务能力矩阵,CRIS系统将多个测试性计算任务发送给该算力资源池,并要求其及时返回计算结果。CRIS系统在收到算力资源池返回的结果后,计算任务执行时间,并验证计算结果的正确性。根据结果的正确性和任务执行时间,CRIS系统能够校验该算力资源池通告的服务能力的真实性。此外,EV4CR机制还需具备高效性和安全性。
1)高效性。EV4CR机制需持续对算力资源池的计算能力进行校验,因为恶意算力资源池会中途减少算力而不上报。但持续校验会浪费算力资源,降低算力网络效率。EV4CR机制将算力资源池分为两种状态:空闲和服务。在算力资源池空闲时,即没有被分配计算任务,EV4CR机制定期执行上述算力检测算法来验证算力资源的真实性;在算力资源池服务用户的计算任务时,该机制只需要检查用户任务的完成状态,以此来校验算力资源,这样极大地降低了算力检测算法的执行次数,减少了算力资源的浪费。
2)安全性。上述机制可能面临重大安全风险,如果恶意算力资源池能够区分算力检测算法生成的计算任务和用户的计算任务,那么它可以使用其他算力来临时地“应付”算力校验,以欺骗CRIS系统,使得CRIS系统将用户的计算任务发送给该恶意算力资源池,导致用户数据的泄露。为了防范这一安全风险,算力检测算法生成的计算任务应该和用户的计算任务具有一致的格式和模式,使得算力资源池无法区分它们,因此恶意算力资源池无法有效规避算力校验阶段。
5 算力请求安全解析机制
针对算力资源请求的解析需要自适应地感知用户的资源请求意图,以实现精准的算力调度与安全风险管控。然而,现有的资源请求解析机制需要用户指定算力硬件信息(比如需要的内存量、CPU和GPU数量等),用户使用门槛较高,并且这类描述无法刻画计算任务的实际需求,算力网络调度系统难以实现算力资源的最优调度,会造成算力及能源的浪费。此外,CRIS系统难以根据用户指定的算力硬件信息实现对解析劫持、解析污染、用量攻击等安全风险的感知。
为了准确地感知用户意图,相比于传统的用户指定硬件的模式,算力请求安全解析机制(SR4CR)提出一种基于自然语言的请求模式,用户无需了解有关算力和网络的专业知识,只需要描述计算任务的相关信息以及对完成时间、费用等的需求信息。如图3所示,SR4CR机制使用大语言模型(Large Language Model,LLM)[22]从用户的自然语言描述中提取出意图,形成细粒度的算力资源清单,然后输入给算力网络调度系统。同时,SR4CR机制对用户请求进行安全风险评估,过滤异常的请求,防止CRIS服务器资源被滥用。
图3 基于大语言模型解析用户请求
基于LLM的用户接口在提供智能化意图解析的同时,也会面临复杂的安全风险。安全风险可大致分为算力层面的风险和模型层面的风险。在算力层面,恶意的算力请求会导致算力资源池被恶意占用。模型层面的风险包括LLM用量攻击风险等。因为LLM的计算需要消耗一定资源,尤其是基于Self-Attention的Transformer结构对于长度为n的输入序列会产生O(n^2)的计算开销,恶意的算力请求会导致LLM处于长时间高负荷运行的状态,从而构成LLM用量攻击。为了防范基于LLM的用户接口中潜在的安全风险,SR4CR设计了一套全面、高效、可控的安全机制,包括内容审计[23]、用量审计等技术。
1)内容审计。LLM的内容审计指的是对LLM的输入及输出内容的审核和管理机制。其中输入为描述用户请求的自然语言文本,输出为解析后的格式化的算力资源清单。审计的方法主要是通过模型发现可疑的输入或输出,实现对恶意内容的发现和拦截。当检测到可疑输入或输出时,模型会按照恶意内容的严重性生成风险评分。对于高风险输入,如包含恶意算力资源请求的文本、LLM用量攻击的输入,系统会自动拒绝服务;而对于LLM生成的高风险输出,如恶意算力资源清单,系统会自动拦截该请求。对于所有可疑内容,系统会生成日志以供人工审阅和修改风险评分,人工反馈可以用于进一步优化判别模型。
2)用量审计。用户级别的用量审计是一种防止用量攻击的有效方法。对于每个用户,系统监测和记录LLM的用量信息,例如在15分钟、1小时或1天的统计周期内,统计输入token总数及请求总数。为了根据用量统计信息及任务信息判断风险评级,系统构建统计模型(如SVM、Boosted Trees等)并学习人工标注。用量风险评级可分为低、中、高三个级别。当风险评级为中级时,用户需要通过填写验证码等方式继续使用LLM接口,而当风险评级为高级时,用户的所有请求将在一段时间内被拒绝。
6 结语
算力网络通过协同调度算力和网络资源,提升针对海量数据的处理效率,对全社会的数字化转型具有重大意义。算力网络资源管理安全架构为算力资源的供应方和消费方提供安全保障,推动算力网络的建设和应用。在未来,算力网络安全体系应进一步考虑数据流转、联合计算中的安全风险,保障算力网络的全方位高质量发展。