Sensitive computations are now routinely delegated to third-parties. In response, Confidential Computing technologies are being introduced to microprocessors, offering a protected processing environment, which we generically call an isolate, providing confidentiality and integrity guarantees to code and data hosted within -- even in the face of a privileged attacker. Isolates, with an attestation protocol, permit remote third-parties to establish a trusted "beachhead" containing known code and data on an otherwise untrusted machine. Yet, the rise of these technologies introduces many new problems, including: how to ease provisioning of computations safely into isolates; how to develop distributed systems spanning multiple classes of isolate; and what to do about the billions of "legacy" devices without support for Confidential Computing? Tackling the problems above, we introduce Veracruz, a framework that eases the design and implementation of complex privacy-preserving, collaborative, delegated computations among a group of mutually mistrusting principals. Veracruz supports multiple isolation technologies and provides a common programming model and attestation protocol across all of them, smoothing deployment of delegated computations over supported technologies. We demonstrate Veracruz in operation, on private in-cloud object detection on encrypted video streaming from a video camera. In addition to supporting hardware-backed isolates -- like AWS Nitro Enclaves and Arm Confidential Computing Architecture Realms -- Veracruz also provides pragmatic "software isolates" on Armv8-A devices without hardware Confidential Computing capability, using the high-assurance seL4 microkernel and our IceCap framework.
翻译:现在,敏感计算被例行委托给第三方。作为回应,正在向微处理器引入保密的计算机技术,提供受保护的处理环境,我们通常称之为隔离,为内部托管的代码和数据提供保密和完整保障,即使面对一个特权攻击者,也提供保密和完整保障。我们采用认证协议,允许远程第三方建立一个可靠的“海滩”,包含已知的代码和数据,并包含一个其他不受信任的机器。然而,这些技术的兴起带来了许多新问题,包括:如何方便安全提供计算,将其分离成孤立;如何开发分布式系统,跨越多个隔离类别;如何在不支持机密计算机的情况下,对数十亿个“惯性”装置采取行动?解决上述问题,我们引入Veracruz框架,这一框架便利了复杂隐私保护、协作和授权计算在一组互不信任的机器上建立。 Veracruz支持多种孤立技术,并提供了一个共同的编程模型和验证框架,在支持的技术上平稳部署授权的计算工具;在不支持机密计算机保密计算机系统上,我们用Vercrace-Cral Crecial Creal Crecial 和Seal Crecial Creax