ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Havenlon 设计哲学(三):任何组件都不应拥有无限权力

Havenlon 设计哲学(三):任何组件都不应拥有无限权力 安全不是找到一个绝对可信的中心而是让任何一个中心都无法单独造成灾难。一、所有安全问题最终都会收敛成同一句追问做过系统架构的人大概都有类似的体感一场安全评审进行到最后无论开头讨论的是加密算法、权限模型还是审批流程问题都会收敛成同一句话——谁是可信的管理员是否可信云端服务是否可信硬件设备是否可信审批人是否可信而在今天这份名单上又多了一个新角色AI Agent 是否可信传统系统给出的答案往往是去寻找一个最终可信者。它可能是一个超级管理员账号可能是一个云端控制台可能是一把躺在 KMS 里的根密钥也可能是一台被贴上安全设备标签的硬件。整套架构的逻辑非常简洁只要这个最终可信者点头系统就继续往下执行。这种设计在正常状态下极其高效。它把复杂的信任判断压缩成一次校验把分散的决策收敛成一个入口性能好、实现简单、调试方便。真正的问题出现在异常状态一旦这个组件判断错误、配置错误、被攻击或者被滥用它手里握着的就不再只是参与系统的权力而是绕过整个系统的权力。一个能绕过系统的组件会让系统里其他所有防线同时失效。你写了多少策略、加了多少审批、部署了多少审计在这一刻都不再重要。所以 Havenlon 的第一个设计原则不是去寻找一个更可信的中心而是任何组件都不应拥有无限权力。这里的任何组件范围要比通常理解的更宽——它既包括人也包括软件、AI 模型、SaaS 服务、策略引擎以及那台被称为安全硬件的设备。一个成熟的安全架构不应该建立在某个组件绝对不会出错的假设之上。它应该保证的是另一件事即使某个组件出错、失陷或被滥用它也无法单独让灾难性执行发生。二、Owner ≠ God拥有系统不等于可以绕过系统系统所有者当然拥有管理系统的权力。他可以配置策略、添加设备、分配角色、调整业务规则也可以决定这套系统究竟服务于什么目标。这些都属于治理权天经地义。但拥有系统不应该等于可以绕过系统。Owner ≠ God。所有者可以定义边界却不应该在任何时刻都能无条件突破边界。这条原则听起来有点反直觉既然系统是我的为什么我不能拥有最高权限因为在真实世界里所有者从来不是一个永远稳定、永远清醒、永远安全的抽象身份。它可能是一组账号可能是一套凭证可能是一个管理后台的登录态也可能是某个正在承受巨大压力、被社工诱导、或者单纯判断失误的人。账号会被盗 凭证会泄露 审批人会被骗 管理员会误操作 创始人也可能在深夜的紧急状态下按下错误的确认键。如果所有者身份本身就足以绕过所有限制那么攻击者的目标就变得异常清晰不需要攻破任何一道技术防线只需要拿到这个身份。整套安全系统会在一次成功的钓鱼之后瞬间归零。所以在 Havenlon 的模型里Owner 拥有完整的治理权但不天然拥有无限的执行权。定义规则的人同样受规则约束这不是对所有者的不信任而是对所有者的保护。三、管理员不能成为系统的后门很多系统表面上有一套相当复杂的权限控制但仔细拆开会发现里面始终留着一条超级管理员通道普通用户受策略限制管理员却可以修改策略普通操作需要审批管理员却可以重置审批流程普通设备需要验证管理员却可以更换设备、导出密钥、关闭安全开关。这意味着系统里所有的限制最终都依赖同一个前提管理员不会出问题。可是管理员并不天然比其他角色更安全。恰恰相反——管理员拥有更高权限也因此更容易成为攻击目标。在真实的入侵链条里攻击者从来不会去正面硬刚业务系统的权限校验他们只会想尽办法拿下一个管理员。如果一个身份能够同时做到修改规则、变更身份、关闭审计、触发执行这四件事那么所谓的安全边界不过是管理后台上的一层视觉效果。一条能被单一身份完整绕过的边界不是边界是装饰。真正的边界必须能够约束管理员本身管理员可以发起变更但关键变更需要独立确认管理员可以配置策略但新策略不应自动获得执行能力管理员可以管理设备但不能在缺少证据和约束的情况下让设备执行任意动作。安全系统不应该通过寻找一个更可靠的管理员来解决问题而应该通过架构本身限制管理员的最大影响半径。四、AI 可以提出行动但不能单独让行动发生AI Agent 的普及让无限权力这个老问题变得前所未有地尖锐。过去的软件在等待用户点击按钮。今天的 AI 可以理解目标、拆解任务、调用工具、生成参数、提交请求并连续完成一整串操作。它已经不只是一个建议者而是在结构上越来越接近执行者。这带来了一个非常危险的误解既然 AI 已经能够理解任务是不是也应该让它直接完成任务Havenlon 的答案是明确的否定。理解意图不等于拥有执行权。AI 可以判断应该付款但不应单独决定这笔款项最终打到哪个账户 AI 可以判断应该部署但不应单独决定哪段代码进入生产环境 AI 可以判断应该关闭设备但不应单独控制现实世界里的关键设施。需要强调的是这个约束并不是因为AI 一定会犯错也不是在争论 AI 是否比人更可靠。真正的理由在于任何单一智能体——无论是人还是模型——都不应同时握有理解、决策和最终执行的全部权力。这条原则对人成立对 AI 同样成立。而且存在一个反直觉的推论AI 的能力越强系统越不能只依赖 AI 的自我约束。因为能力越强一次偏离所能造成的破坏半径就越大。安全的目标从来不是要求 AI 永远正确而是确保即使 AI 判断错误它的错误也不能自动变成现实世界中的结果。五、SaaS 可以参与治理但不是最终权威云端 SaaS 非常适合承担协同治理的角色。它可以管理组织架构、配置策略、记录审批链路、对接身份系统也可以让不同角色共同参与一次决策。这些能力本地系统很难做得同样好。但 SaaS 归根结底仍然是一套运行在远程基础设施上的软件。它同样会遇到账号失陷、服务端漏洞、内部权限滥用、配置错误、供应链攻击、状态不同步。因此SaaS 有资格表达这样一些事实某个请求已经通过审批某条策略当前有效某个身份持有某种角色某次操作满足了组织流程。但它不应该仅凭一句Approval Passed就让现实执行自动发生。云端审批结果只能成为执行条件之一而不能天然等于最终执行命令。原因在于审批所确认的是一件事组织是否同意这件事。而执行边界还需要确认另一件事最终执行的对象、参数、状态和环境是否仍然与被批准的内容一致。这两者之间存在一个经常被忽略的时间窗口。从审批通过到实际执行之间任何字段都可能发生变化目标地址可能被替换金额可能被修改设备状态可能改变策略可能过期执行环境可能已经不再安全。审批回答的是该不该做执行边界回答的是现在做的还是不是当初批的那件事。这两个问题必须由两套独立的机制分别回答。把它们合并成一个就等于把最终权力交给了云端。六、硬件也不能成为新的神当人们意识到软件和云端都不够可靠时一个非常常见的反应是把最终权力交给硬件。硬件隔离、Secure Element、独立 MCU、物理按键、离线签名——这些手段确实能显著抬高攻击成本也确实是可靠执行链路中不可替代的一环。但硬件更安全并不等于硬件应该拥有无限权力。硬件同样存在固件漏洞、实现缺陷、供应链风险和错误配置。更关键的是硬件天然无法理解完整的业务语义它没有能力凭自身判断一个操作是否符合组织意图。如果一台安全硬件只要收到一条格式正确的命令就执行那么它做的事情只是把原本属于软件的单点权力原样搬进了一颗芯片里。把神换个位置供起来并不能解决无限权力的问题。在 Havenlon 的设计中硬件不是神也不是业务决策者。它的职责被严格限定为验证执行请求是否满足已经定义的边界检查意图、审批对象与最终执行对象三者是否一致在信息缺失、冲突、过期或无法验证时拒绝执行保留独立否决权生成可验证的执行证据。硬件不能凭空创造一个合法意图也不能替代组织做出业务决定。它拥有的从来不是无限执行权而是受约束的最终裁决能力。七、权力不是被取消而是被拆开任何组件都不应拥有无限权力并不意味着系统里没有权力。系统仍然需要有人提出目标需要 AI 理解任务需要 SaaS 完成协同需要策略定义边界也需要硬件对最终执行进行裁决。这些权力一个都不能少。关键在于它们不能集中在同一个组件手中。一次完整的现实执行可以被拆解为六种彼此独立的能力提出意图 → 理解意图 → 批准意图 → 验证边界 → 形成执行 → 证明结果。每一个角色都可以完整地完成自己负责的那一段但没有任何一个角色能够独自走完全程角色能做什么不能做什么AI Agent提出并理解行动自我授权审批系统同意行动替换执行对象策略引擎定义允许范围主动发起外部动作安全硬件拒绝执行创造业务目标执行器完成动作接收未经验证的执行对象证据系统记录结果修改已发生的事实这不是简单地往架构里堆更多组件而是让不同能力之间形成相互约束的结构。任何一环单独通过都不足以让执行发生。八、真正重要的是独立否决权传统系统很喜欢强调多方同意。但在高风险执行场景中仅仅增加审批人数并不会自动产生安全。设想这样一种情况所有审批人看到的是同一份被污染的信息所有组件依赖的是同一个云端状态最终设备无条件相信上游传来的结果。那么这套系统表面上有很多参与者实际上仍然只有一个信任来源。参与者数量不等于信任来源数量。多个依赖同一份输入的确认本质上只是一次确认。所以 Havenlon 更关注的问题是不同组件是否拥有真正独立的判断依据和真正有效的否决能力。独立否决权意味着当某个环节发现问题时它可以直接阻止执行而不是只能在日志里记录一条异常。当意图与执行参数不一致时拒绝当审批对象与最终对象不一致时拒绝当证据缺失、过期或相互冲突时拒绝当设备无法确认当前状态时拒绝当任何必要条件不能被完整证明时拒绝。这种设计确实会在某些场景下降低便利性。但它换来的是一个更重要的性质限制错误继续向下传播。一个安全系统的价值不体现在所有组件都正常时它跑得多顺而体现在部分组件已经不可信时它还守不守得住边界。九、安全不是选出一个神而是不允许神出现很多安全架构都在寻找最终可信根。但可信根的意义从来不应该是拥有无限权力而应该是提供一个不可轻易伪造的约束基础。这两者的差别决定了一套架构在极端情况下的命运。不够成熟的系统在问谁永远不会犯错成熟的系统在问当某个人、某个模型、某个服务或者某台设备已经犯错时系统还能不能阻止错误变成不可逆的结果Havenlon 不试图创造一个永远正确的管理员、AI、SaaS 或硬件设备。它选择先承认现实人会犯错AI 会偏离软件会失陷策略会过期硬件也可能出问题。正因为如此——Owner 不是 God。AI 不是 God。SaaS 不是 God。硬件同样不是 God。真正可靠的执行控制不是把最终权力交给其中任何一个而是让每一个角色都被另一个边界所约束。安全不是找到一个绝对可信的中心而是让任何一个中心都无法单独造成灾难。
返回列表