想象一下你是一位船长,但有人告诉你,如果你在操舵时犯下一个错误,整艘船都可能沉没。在计算机安全领域,这正是“超级用户”(如 root 或 sudo)所面临的问题。如果一名黑客骗过了这些拥有强大权限的用户,他们就能摧毁一切。
Privocracy 是一种运行计算机系统的新方式,它不再依赖于单一的“船长”,而是将每一次危险的操作视为一次民主投票。
以下是它的工作原理,通过简单的类比来解释:
1. 问题所在:“金钥匙”
在传统的计算机系统中,某些用户持有能打开所有门的“金钥匙”。如果小偷偷走了这把钥匙,他们就可以进入银行金库、服务器机房和保险箱。论文称之为“单点故障”。即使你有守卫和摄像头,如果持有钥匙的人被欺骗或被腐蚀,整个系统都会陷入危险。
2. 解决方案:“秘密投票”
Privocracy 说:“不再有人持有‘金钥匙’了。如果你想做一些危险的事情(比如删除一个关键文件),你必须询问集体。”
但这里有一个关键点:集体必须进行秘密投票。
- 场景: 你想删除一个文件。你不能直接删除。你必须询问“投票委员会”(一组受信任的人)。
- 神奇之处: 每位委员会成员都私下投出“赞成”或“反对”票。他们不会告诉其他人他们的投票情况。系统使用一种特殊的数学技巧(就像一个谜题,你需要 3 块碎片才能看到完整的图像,但只有 2 块碎片时看起来只是随机的噪声)来统计选票,而无需揭示谁投了哪一票。
- 结果: 如果足够多的人投了“赞成”,命令就会执行。如果没有达到人数,操作就会停止。甚至连计票的人也不知道谁投了哪一票。
3. “黑匣子”(可信执行环境)
为了确保计票机器本身不会作弊,论文建议将计票机器放入可信执行环境 (TEE) 中。
- 类比: 想象一台由不锈钢和防弹玻璃制成的投票机。你可以把选票投进去,机器会吐出一个“通过”或“失败”的指示灯。但没有人可以打开机器去查看里面的单个选票。即使黑客闯入了建筑,他们也无法窥视机器内部来窃取选票。
4. 处理现实情况:疲劳与紧急情况
论文承认,要求人们对每件事都进行投票是很累人的(就像要求镇议会为每天午餐吃什么进行投票一样)。为了解决这个问题,Privocracy 有两个特殊功能:
- “代理人”(投票委托): 如果一位忙碌的委员会成员无法投票,他可以表示:“如果我正忙,我信任我的同事莎拉来代表我投票。”这让流程得以持续进行,而不必等待所有人上线。
- “紧急按钮”: 有时,你需要快速行动(比如扑灭火灾)。Privocracy 拥有“紧急投票”模式。它不再等待所有人投票,而是检查目前已有的选票。如果已经很明显火势会被扑灭(或者根本不可能扑灭),它就会停止等待并立即行动。这在保持安全规则的同时节省了时间。
5. 检查工作(审计)
如果系统做出了坏事怎么办?我们如何知道是谁投票支持它的?
- “保险箱”: 选票被保存在一个锁定的箱子里。通常情况下,它们是保密的。但如果出了问题,集体可以投票“打开箱子”,从而查出究竟是谁投了那张坏选票。这确保了虽然隐私是默认设置,但在需要时问责是可能的。
6. 它真的有效吗?
作者构建了一个运行该系统的原型并进行了测试。
- 速度: 他们发现,即使有 60 人参与投票,整个过程也只需大约 100 秒。这足以满足现实世界的使用需求。
- 硬件: 它可以在标准的、现成的计算机(通用硬件)上运行。你不需要超级计算机来运行一个安全的民主系统。
总结
Privocracy 就像是将一个计算机系统从独裁制转变为秘密投票制民主制。它通过防止黑客通过窃取单一的“金钥匙”来接管系统。相反,黑客必须诱骗一整组人去投票支持一个错误的行动,同时还要隐藏好自己的投票痕迹。这是一种通过分享权力、同时保留秘密,从而让强大的计算机变得更安全的方法。
技术摘要:Privocracy —— 通过私密投票实现在线民主
问题陈述
传统的访问控制机制,特别是企业系统中广泛使用的自主访问控制(DAC)和行政层级结构(如 RBAC、Active Directory),过度依赖极少数高权限用户。这种架构引入了关键性的单点故障:单个高权限账户的失陷即可允许攻击者提升权限、授予未经授权的权限或修改敏感配置。虽然存在强身份验证等预防措施,但传统架构缺乏内置的可靠性机制来限制此类失陷的影响。此外,现有的安全指南(如 OWASP)强调,管理不当的角色是导致关键漏洞的经常性来源。
旨在用于大规模公开选举的现有电子投票系统针对高吞吐量和审计性进行了优化,适用于低频事件,因此不适用于需要小群体快速决策、长期可靠性和对紧急命令做出响应的访问控制。相反,访问控制中现有的分布式信任模型往往缺乏实际落地,或者无法在隐私与 DAC 的灵活性之间取得平衡。
方法论
作者提出了 Privocracy,一种集体访问控制系统,通过要求在执行访问敏感资源的命令前,通过安全的电子投票程序进行多方审批,从而实现信任分布。该系统旨在构建于现有的 Linux DAC 机制之上,以最大限度地减少集成开销。
系统架构
系统由两个不同的空间组成:
- 操作空间(Operational Space): 包含操作实例(例如文件服务器、电子邮件服务器),这些实例托管着 Privocracy 前端和一个命令日志(Command Log)。这些实例扩展了默认的 Linux DAC。
- 投票空间(Voting Space): 由投票者实例(Voter instances)组成,这些实例代表独立的实体(人类管理员)。
工作流
- 请求: 用户发出访问受限资源的命令。Privocracy 前端拦截此命令并将其转发给 Privocracy 守护进程(Daemon)。
- 选举触发: 守护进程启动分布式投票轮次,通知投票者实例。
- 投票: 每个投票者提示人类管理员进行二元决策(批准/拒绝)。投票被进行秘密共享(1 或 0)并经过密码学验证。
- 聚合: 投票者通过通信使用 异步可验证秘密共享(AVSS) 来计算部分总数。同时,它们采用 拜占庭可靠广播(BRB) 进行完整性证明,并使用 异步二进制共识(ABA) 来就将哪些投票纳入最终统计达成一致。
- 执行: 守护进程重建加权投票总数。如果总和超过可配置的阈值,则以专用
privocracy-user 账户的权限执行命令。
密码学原语
为了确保在具有拜占庭故障(最多 f<n/3)的异步网络中的隐私性和完整性,Privocracy 利用了以下技术:
- Shamir 秘密共享: 用于屏蔽单个投票,同时允许加权总数重建。
- Pedersen 承诺(Pedersen Commitments): 确保份额的完整性,并允许在不泄露投票值的情况下验证投票为二元(0 或 1)。
- 零知识证明(Sigma 协议): 特别是使用非交互式证明(通过 Fiat-Shamir),以验证承诺的投票确实为 0 或 1。
- 可信执行环境(TEE): 守护进程的统计重建和阈值评估在 TEE 内部进行,以防止统计值或参与投票者子集的泄露。
核心特性
- 加权投票: 投票者可以拥有动态可配置的权重。
- 投票委托: 为了减轻投票疲劳和延迟,如果投票者在超时内未响应,可以将投票委托给信任的同行。
- 紧急投票: 一种延迟优化的变体,允许在投票轮次一旦在逻辑上确定结果(批准或拒绝)时提前终止,这对于时间敏感的操作至关重要。
- 审计: 如果特定操作造成损害,可以通过要求多数投票触发的机制来公开单个投票。
核心贡献
- 策略规范: 作者定义了一种访问控制策略,使协作审议用户请求成为可能,并展示了如何将 Privocracy 集成到现有的 DAC 框架中。
- 系统实现: 他们将 Privocracy 规范化并实现为一个开源系统。它是第一个通过私密电子投票程序分配信任,同时保持 DAC 灵活性的实用访问控制机制的具体构建。
- 性能评估: 论文提供了系统的性能实验评估,并测量了在非 TEE 部署中的信息泄露上限。
结果
作者在 Docker Swarm 集群上使用商用硬件(AMD EPYC 处理器、265 GB RAM、25 GbE 网络)对 Privocracy 进行了评估。
- 延迟: 系统处理投票效率很高。对于 60 个投票者,端到端延迟约为 100 秒。结果表明,对于合理的投票者数量,该延迟对于实际部署而言并不会构成障碍。
- 可扩展性: 随着投票者数量的增加,协调和计算开销开始超过网络延迟。内存使用量保持在可控范围内(即使在高阈值下也低于 500 MB),这表明该系统可以在商用硬件上扩展到大幅度增加的配置。
- 投票疲劳分析: 通过分析维基百科管理员选举数据,作者观察到投票活动具有前置性,即大多数投票在早期阶段投出。这支持了投票委托和紧急投票等功能的设计,这些功能允许系统在无需等待所有参与者的情况下继续进行,从而在不显著牺牲参与度的前提下降低延迟。
- 隐私泄露: 在预期的 TEE 部署中,系统实现了零投票泄露。在较弱的非 TEE 部署中,论文分析了信息泄露情况,显示泄露是单调且趋于饱和的,其严重程度取决于权重分布(例如,均匀权重提供 k-匿名性)。
意义与主张
论文声称 Privocracy 解决了传统访问控制模型的结构性脆弱问题,即系统完整性过度依赖于少数高权限用户。通过通过私密电子投票程序分配信任,Privocracy:
- 消除了单点故障: 它防止了单个被攻破的管理员单方面执行敏感操作。
- 保持了灵活性: 与强制访问控制(MAC)或基于角色的访问控制(RBK)不同,后者可能管理起来过于僵化且复杂,Privocracy 在保留 DAC 灵活性的同时,增加了一层集体授权。
- 提供了持久的隐私: 投票机制确保了投票的机密性,无论对手的计算能力如何(在使用 TEE 进行最终统计时具有信息论安全性)。
- 实用性: 该系统旨在以最小的修改部署在现有基础设施上,仅需较小的学习成本。
作者总结道,虽然 Privocracy 并不能消除所有攻击向量(例如,它不能防止集体被攻破时的木马程序),但它显著增加了审查力度并降低了 undetected(未被察觉)攻破的可能性。他们承认,定期投票对用户行为的影响(投票疲劳)仍是一个有待进一步研究的开放领域。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。