现代军事装备正在经历一场不易被外界察觉的变化。无人机、导弹、雷达、电子战设备、战术通信终端和指挥控制系统,越来越依赖持续更新的软件。武器装备交付部队,并不意味着软件供应链的风险随之结束。漏洞修补、功能升级、任务配置、地图数据、识别模型和通信协议更新,都可能在装备服役期间不断发生。
这使软件更新系统成为军事装备长期安全的一部分。传统模式通常由供应商维护更新服务器,客户终端连接服务器下载文件,再通过数字签名和哈希校验判断更新是否可信。但这种架构存在一个根本问题:如果服务器本身遭到控制,客户端虽然可以检查文件,却未必能够独立判断整个更新体系是否仍然可信。
The Update Framework,简称TUF,就是针对这一问题设计的软件更新安全框架。它由安全研究人员发起,后来成为云原生计算基金会CNCF的毕业项目。TUF不是某一种数字签名算法,也不是单纯的软件加密工具,而是一套管理软件更新信任关系的协议规范。它通过角色分离、阈值签名、版本控制、元数据有效期和密钥轮换,使更新服务器即使遭到入侵,也不至于自动获得向所有客户端发布可信软件的权力。
对军用软件供应链来说,TUF的价值在于把原本集中在供应商服务器上的信任拆分成多个独立环节。不过,军用环境又具有商业软件系统很少面对的特殊条件:长期离线、跨国协作、装备服役周期长、战时紧急更新、通信链路不稳定,以及软件更新失败可能直接影响作战能力。TUF能够解决一部分问题,却不能自动消除这些矛盾。
TUF不是给更新包加一把签名,而是重新设计信任结构
理解TUF,首先需要改变一个认识:它保护的对象不仅是软件文件,还包括决定客户端应该信任哪些文件、哪些密钥有权发布文件、当前版本是否最新的整套元数据。
传统软件更新系统可能只有一组发布密钥。供应商使用私钥签署软件包,客户端使用公钥验证。如果密钥泄露,攻击者便可能冒充供应商。如果更新服务器被入侵,攻击者还可能通过阻断、替换或延迟更新制造其他风险。
TUF将更新系统拆分为四种必要角色:Root、Targets、Snapshot和Timestamp。每种角色拥有独立的职责和授权密钥,可以设置不同的签名门槛。它们之间通过签名、哈希、版本号和有效期形成连续验证关系。
Root是整个体系的信任起点。它保存其他角色的公钥、授权范围和签名阈值,决定哪些密钥有权签署Targets、Snapshot和Timestamp元数据。Root自身也可以设置多重签名门槛。假如某个角色使用三把授权密钥中的两把才能完成签署,那么单独控制其中一把密钥并不足以取得该角色的完整权限。
Targets负责声明哪些软件文件属于正式发布内容。它的元数据包含目标文件的路径、长度和加密哈希值,也可以将不同软件项目、产品或版本的发布权限委托给其他角色。客户端最终依据这些信息判断下载到的文件是否符合授权发布内容。
Snapshot负责记录各类Targets元数据的版本和哈希,确保客户端取得的是同一套发布状态,而不是从不同时间、不同版本的仓库内容中拼凑出一个看似合法的更新集合。
Timestamp则负责提供更新状态的新鲜度信息,并指向当前有效的Snapshot元数据。它通常需要频繁更新,使客户端能够识别服务器是否长期提供旧数据。
客户端按照Root、Timestamp、Snapshot、Targets的顺序逐层验证,最后才核对实际下载的软件文件。这个顺序十分重要:客户端不是先相信服务器提供的软件,再寻找理由验证,而是先确认发布权限和元数据链条,再决定哪些文件有资格进入系统。
四种角色形成不同的防御层
TUF最值得重视的设计,是不同角色遭到攻击后,影响范围并不相同。
Root掌握整个体系的授权结构,安全等级最高。它的密钥应当离线保存,使用受控硬件和严格的多人操作程序。Root密钥不应当日常参与软件更新签署,而应主要用于授权关系变更、其他角色密钥轮换和恢复信任体系。
Targets控制实际软件文件的发布声明。即使更新服务器可以替换文件,只要攻击者无法取得对应Targets授权,就不能让客户端把任意文件当成正式发布的软件。
Snapshot解决不同元数据之间的对应关系。假设某个软件项目更新了Targets文件,而服务器仍然向客户提供旧版Snapshot,客户端就可能看到版本不一致。Snapshot通过版本和哈希关系约束这些元数据,减少攻击者混合不同版本内容的机会。
Timestamp的职责则更接近更新状态的时间证明。它的有效期通常较短,可以快速轮换密钥。一旦Timestamp密钥失陷,攻击者可能利用其权限延迟或冻结客户端看到的更新状态,但不因此自动获得签署任意软件文件的能力。
这里需要纠正一种常见的简化说法:Timestamp密钥被盗,并不意味着攻击者可以直接发布恶意软件;它主要控制更新状态的新鲜度信息。Targets密钥被盗,风险则更接近恶意软件发布权限被控制。Root密钥被盗,影响可能进一步扩展到整个信任体系。
TUF还允许使用委托角色,将特定目录、产品或文件的发布权限交给不同团队。例如,地面控制软件、无人机固件、通信模块和地图数据可以分别由不同角色签署。一个项目的发布密钥被攻破,不应当自动获得修改其他项目软件的权限。
这套设计体现了一个重要原则:不要让一把密钥、一个账户或一台服务器拥有整个软件供应链的控制权。
TUF如何抵御更新服务器被控制后的攻击
假设某军用无人机供应商的更新服务器遭到入侵。攻击者可以替换服务器上的软件包,也可以删除文件、阻断下载,甚至向不同客户提供不同版本。
如果系统只有普通的文件哈希校验,攻击者可能同时替换文件和服务器上用于比较的哈希值。客户端虽然完成了校验,却只是确认下载文件与被攻击服务器提供的哈希一致。
TUF改变了这一过程。客户端信任的不是服务器临时提供的哈希,而是经过授权密钥签署的Targets元数据。服务器即使替换软件文件,也无法在没有合法Targets签名的情况下改变客户端认可的文件摘要。
攻击者还可能尝试混合不同版本的元数据。例如,提供新的Targets文件,却搭配旧的Snapshot,或者让不同客户看到不同版本的软件目录。Snapshot和Timestamp之间的哈希、版本关联,以及TUF的一致快照机制,可以降低这种混合匹配攻击成功的可能性。
另一个重要防护对象是回滚攻击。攻击者不一定要制造恶意软件,只需要让客户端重新安装已经存在安全漏洞的旧版本,就可能重新打开此前已经修补的攻击入口。TUF要求客户端记住已经信任的元数据版本,并拒绝接受低于已记录版本的元数据。
冻结攻击则更加隐蔽。攻击者可以让更新服务器一直提供一份过去合法、现在却已经过时的软件更新信息。文件签名仍然正确,哈希也没有问题,但客户端实际上无法获得最新安全修复。
Timestamp和元数据有效期就是为此设计的。客户端发现元数据已经过期,就应当拒绝继续信任,并报告潜在冻结攻击。
不过,这里存在一个关键前提:客户端必须拥有可靠的时间判断能力,并且需要保存此前已经接受的版本状态。如果设备时间可以被任意回拨,或者攻击者能够清除客户端保存的可信元数据,防回滚和防冻结能力就可能受到削弱。TUF的安全性因此不仅依赖密码学,也依赖客户端本地状态和时间管理。
军用环境最适合采用分层委托,而不是所有软件共用一套密钥
TUF在军事领域有一个很有价值的应用方向:将软件发布权按照装备类别、任务系统和组织层级拆分。
以一套无人机系统为例,它可能包含任务规划软件、地面控制站程序、飞控固件、通信模块、图像处理组件和地图数据。传统集中式发布架构可能由供应商统一控制所有更新。如果整个发布账户或签名系统被控制,多个组件就可能同时受到威胁。
采用TUF委托机制后,可以把不同软件组件划分到不同Targets角色。地面控制软件由一个授权团队发布,飞控固件由另一个授权团队发布,通信模块则由专门的安全部门审批。即使某个组件的发布密钥失陷,攻击者也不应自动获得其他组件的发布权。
进一步还可以把供应商与军方的权限分开。供应商负责生成软件和提供构建证明,军方持有独立的批准密钥。对于高风险更新,只有供应商完成发布签名、军方完成接收授权后,软件才进入军事更新仓库。
例如,某项飞控固件更新需要供应商的Targets密钥和军方安全机构的批准密钥共同达到规定签名阈值。这样,供应商即使遭到入侵,也无法单方面向军方系统发布未经批准的固件。
但这种设计必须注意一个问题:多重签名必须对应真正独立的权限。假如供应商和军方的两把密钥都由同一个被控制的服务器调用,或者两名审批人员实际上使用同一套账户体系,那么形式上的双重授权并没有建立真正独立的防线。
军用系统需要把组织独立性落实到技术层面,包括不同的密钥保管人、不同的审批设备、不同的网络环境,以及无法被单一管理员同时修改的审计记录。
在跨国军事合作中,还可以按照国家、军种或项目划分委托权限。供应商可以维护基础软件,国家级安全机构控制最终授权,战区或部队只获得经过批准的软件接收和部署权限。不同盟国可以使用自己的批准密钥,而不必把全部发布权交给同一个商业企业。
不过,跨国部署还会产生密钥政策、出口管制、软件版本差异和紧急授权协调等问题。TUF提供的是技术上的授权框架,并不会自动解决国家之间的政治和法律关系。
TUF与SLSA、in-toto和SBOM结合,才能覆盖完整的软件供应链
TUF有一个明确边界:它主要解决软件更新仓库、元数据和客户端之间的信任问题。它不能证明软件源代码没有恶意代码,也不能证明编译器、依赖库和构建服务器没有遭到控制。
这意味着,如果攻击者在软件构建阶段就植入恶意代码,随后由合法发布流程生成软件包,TUF仍可能正确地验证这个恶意软件包。因为从TUF的角度看,文件确实经过授权密钥签署,哈希和元数据也完全一致。
要弥补这一缺口,需要把构建安全纳入同一体系。
SLSA关注软件构建过程的完整性和来源证明,帮助接收方了解软件由什么源代码、什么构建环境和什么流程生成。in-toto则可以记录软件供应链中的各个步骤及其签名证明,验证必要的生产环节是否按照预定流程完成。
SBOM,即软件物料清单,则用于描述软件中包含哪些组件、依赖库和版本。它不能直接证明软件安全,却可以帮助军方发现已经存在漏洞的第三方组件,并在某个开源库发生安全事件时快速确定受影响装备。
把这些机制组合起来,可以形成四层验证。
TUF回答软件是否来自授权发布体系,文件是否与授权元数据一致;SLSA回答软件是否由预期的构建环境生成;in-toto回答生产过程中的关键步骤是否有可信记录;SBOM回答软件包含哪些第三方组件。
四者不能互相替代。一个拥有完整SBOM的软件,仍然可能被恶意修改;一个通过TUF验证的软件,也可能包含构建阶段植入的后门。只有把发布、构建和组件信息结合起来,军方才能获得更完整的软件来源证据。
最大的现实难题 长期离线与元数据过期之间的冲突
TUF在商业互联网环境中运行相对自然。客户端可以定期连接更新服务器,下载新的Timestamp和Snapshot元数据,检查版本和有效期。
军事装备却未必具备这种条件。
潜艇可能长期处于无法连接外部网络的环境;前线无人机控制站可能因为电磁压制、通信中断或作战保密要求而长期断网;部署在偏远地区的雷达和通信设备,也可能数月无法接收供应商更新。
TUF的Timestamp元数据需要保持新鲜度。如果一套装备长期无法连接服务器,已经合法下载的软件包和元数据也可能因为有效期届满而不再被客户端接受。
这会形成一个棘手的选择:严格执行有效期,设备可能因为无法更新元数据而拒绝安装软件;放宽有效期,攻击者又可能利用长期过期窗口实施冻结攻击。
如果为了适应潜艇或战场环境,把Timestamp有效期从几天延长到几个月,冻结攻击的可利用时间也随之扩大。如果允许客户端在元数据过期后继续安装软件,攻击者就可能通过阻断通信,让设备长期停留在一个无法确认是否最新的状态。
TUF本身不会替军方决定这个取舍。它提供了检测机制,具体有效期、离线策略和异常处置仍然需要根据装备任务和风险等级设计。
一种可行方向是建立离线更新包制度。供应商定期生成完整的TUF元数据和软件包,通过经过安全检查的物理介质送入军事隔离网络。客户端仍然按照Root、Timestamp、Snapshot、Targets的顺序验证,不因为没有互联网连接就放弃密码学验证。
但离线更新必须有完整的交接记录、介质检查、文件摘要核验和版本状态保存。物理介质本身也可能被替换、丢失或污染。离线并不等于安全,只是把网络攻击面转移到了介质管理、人员操作和设备接口上。
更困难的是安全时间。TUF元数据包含UTC时间和有效期,客户端需要判断当前时间是否已经超过有效期。假如设备时钟因为断电、故障或人为操作发生回拨,攻击者可能利用错误时间削弱过期检查。
军事系统因此需要可信时间来源、受保护的本地时钟,或者通过经过认证的时间同步机制更新设备时间。对长期离线装备,还应当设计可信时间失效后的处理规则,而不能简单地允许管理员随意修改系统时间来绕过验证。
Root密钥是整个体系的最高价值目标
TUF采用角色分离,并不意味着所有密钥都同样重要。Root密钥控制其他角色的授权关系,是整个信任体系最核心的资产。
如果Timestamp密钥失陷,通常可以通过更换密钥和更新Root元数据恢复;如果Targets密钥失陷,可以撤销相应发布权限并重新建立授权;但如果Root密钥遭到控制,攻击者就可能尝试替换其他角色的公钥和阈值设置,进而重建一套由攻击者控制的信任结构。
这就是Root密钥必须离线、严格保管,并采用多方授权的原因。
不过,离线保存也会带来操作难题。军用装备可能部署在多个国家、多个军种和不同作战区域。假如Root密钥需要轮换,相关人员必须按照规定流程完成授权、签署和分发。战时通信中断、人员伤亡或机构协调失败,都可能延误密钥更新。
更重要的是,密钥数量不等于安全程度。三把密钥中的两把签名,只有在两把密钥确实由不同权限主体保管时才有意义。如果三把密钥都放在同一座数据中心,或者都由同一名管理员控制,攻击者取得一个高权限账户后仍可能同时获得全部签名能力。
因此,军用Root密钥管理需要考虑地理分散、组织分散、硬件保护和恢复程序。关键密钥应当有明确的保管责任、使用条件、轮换周期和应急授权规则。密钥失陷后的恢复流程必须预先演练,而不能等到战时才临时制定。
TUF无法解决的一个问题 合法授权的软件也可能有害
这是TUF最重要的局限之一。
假设一家军工企业的开发团队在正常工作流程中发布了一个存在严重漏洞的软件版本。所有代码经过合法构建,软件包由合法密钥签署,Targets元数据正确记录文件哈希,Snapshot和Timestamp也全部有效。
从TUF角度看,这次更新完全可信。
但从军事安全角度看,这个软件可能让无人机通信中断、传感器数据处理出现错误,甚至造成任务规划失误。
再进一步,如果攻击者控制了开发人员账户、源代码仓库或构建系统,并把恶意功能植入正式代码,后续发布流程即使完全符合TUF规范,也可能把恶意软件合法地交付给部队。
这说明TUF解决的是授权发布和分发完整性,不是软件功能安全,也不是代码是否具有恶意目的的判断系统。
军方还需要代码审查、独立测试、静态分析、动态分析、模糊测试、可重现构建和运行时安全监控。对于飞控固件、武器控制软件和关键通信组件,更新还应当经过仿真环境、硬件在环测试和任务安全评估。
尤其不能把TUF验证通过等同于装备可以立即投入作战。软件更新的密码学可信度、功能正确性和任务适用性,是三个不同的审查层次。
紧急更新与战场指挥权之间的矛盾
商业软件通常可以在更新验证失败后等待供应商修复。军事系统却可能在作战期间遇到紧急漏洞,需要迅速安装补丁。
如果一套无人机系统发现严重安全漏洞,而正常的多方审批流程需要数小时甚至数天,指挥人员可能要求立即更新。此时,严格的签名阈值、独立审计和离线审批程序,可能与战场时间要求发生冲突。
最危险的解决方式,是在软件中预留一个可以绕过TUF验证的万能管理员开关。这样的设计看似方便,却可能成为攻击者最希望得到的入口。一旦紧急模式没有独立授权、有效期限制和不可篡改审计记录,平时建立的安全体系就可能在最紧急的时刻被整体绕过。
更合理的设计,是预先定义不同风险等级的紧急更新程序。低风险配置更新可以采用较短审批流程;涉及飞控、通信和武器控制的更新则需要更高门槛。紧急授权应当使用独立密钥,明确授权范围、使用期限和适用装备,并在恢复正常通信后进行完整审计。
还应当保留不安装更新的能力。某些战场环境下,继续使用经过验证的旧版本,可能比安装一个未经充分测试的新版本更加安全。TUF负责确保软件来源和元数据可信,指挥机构则必须判断更新是否适合当前任务。
未来军用软件供应链需要建立独立的军事信任根
TUF在军用领域最有价值的方向,不是简单要求所有供应商安装一套更新框架,而是改变军事用户对商业软件供应链的依赖关系。
供应商可以维护在线更新仓库、提供软件构建证明和技术支持,但军方应当保留自己的Root信任锚、独立批准密钥和更新验证客户端。对于关键装备,供应商不能单方面决定什么软件能够进入军方系统。
理想架构可以分为几个相互隔离的区域:供应商构建环境负责生成软件;供应商发布系统提供经过签署的TUF元数据;军方接收区完成来源验证、恶意代码检查和软件测试;军事内部更新仓库再向具体装备分发经过批准的版本。
在这一体系中,供应商更新服务器遭到攻击,不意味着军方更新系统必须跟随失陷。供应商提供的是候选软件,军方拥有最终接收权。
不同装备还应当有不同的信任边界。无人机任务规划软件不应当因为共享同一家供应商的更新服务器,就自动获得飞控固件的发布权限。不同国家、不同军种和不同任务系统也不应当共用一套没有权限隔离的发布密钥。
对于服役周期长达数十年的军事装备,TUF还需要被视为长期基础设施,而不是采购时安装的一项功能。Root密钥轮换、密码算法升级、元数据格式迁移、离线更新、灾难恢复和客户端版本兼容,都应当纳入装备全生命周期管理。
TUF规范本身也在持续发展。其规范版本1.0.37于2026年10月更新,包含客户端验证流程、角色授权、密钥迁移和一致快照等内容。军方在采用时应当固定经过验证的规范版本和客户端实现,建立升级与兼容性测试制度,不能让关键装备在未经验证的情况下自动跟随供应链软件库变化。
TUF是军事软件信任体系的重要基础,但不是完整答案
TUF最重要的贡献,是让软件更新不再完全依赖供应商服务器的诚实。它通过Root、Targets、Snapshot和Timestamp建立分层信任关系,使服务器被攻破、单把密钥失陷或元数据遭到替换时,攻击者仍然必须突破其他独立防线。
但军事应用不能只看它抵御了哪些网络攻击,还必须考虑长期离线、可信时间、跨国密钥管理、战时紧急授权、遗留装备兼容和客户端自身安全。尤其是构建系统被攻破、合法发布流程被操纵、恶意代码获得正式签名,以及终端验证程序被绕过等问题,都不在TUF单独能够解决的范围内。
因此,完整的军事软件供应链应当把TUF与SLSA、in-toto、SBOM、独立代码审查、软件安全测试、硬件信任根和运行时监控结合起来。TUF负责更新分发的信任,SLSA和in-toto负责构建过程的来源证明,SBOM帮助识别软件依赖,军方独立审查和测试则判断软件是否适合进入装备。
未来武器系统的安全,不仅取决于导弹能否拦截、无人机能否飞行、通信链路能否抗干扰,也取决于军方能否证明每一份进入装备的软件都来自经过授权的生产过程,并且没有在交付过程中遭到篡改。
当军事装备越来越依赖商业软件企业时,军队必须拥有独立于供应商的更新验证能力。否则,装备虽然归军方所有,软件信任权却可能长期掌握在外部供应商手中。TUF提供了一种改变这种关系的技术基础,但最终能否形成真正可靠的军事软件供应链,仍然取决于密钥、组织、装备和战场流程能否共同建立独立而可恢复的信任体系。
资料来源与技术标准
The Update Framework,TUF Specification 1.0.37,2026年10月版本
The Update Framework,Roles and Metadata官方技术文档
The Update Framework,Frequently Asked Questions
Cloud Native Computing Foundation,The Update Framework项目资料
SLSA,Supply-chain Levels for Software Artifacts规范
in-toto,软件供应链完整性框架
NIST,Secure Software Development Framework(SSDF)SP 800-218