Confidential Container Groups: Implementing Confidential Computing on Azure Container Instances
- Matthew Johnson ,
- Stavros Volos ,
- Ken Gordon ,
- Sean T. Allen ,
- Sylvan Clebsch ,
- Christoph M. Wintersteiger ,
- John Starks ,
- Manuel Costa
Communications of the ACM | , Vol 67(10): pp. 40-49
Container-based technologies empower cloud tenants to develop highly portable software and deploy services in the cloud at a rapid pace. Cloud privacy, meanwhile, is important as a large number of container deployments operate on privacy-sensitive data, but challenging due to the increasing frequency and sophistication of attacks. State-of-the-art confidential container-based designs leverage process-based trusted execution environments (TEEs), but face security and compatibility issues that limit their practical deployment.
We present the Parma architecture, which provides lift-and-shift deployment of unmodified containers while providing strong security protection against a powerful attacker who controls the untrusted host and hypervisor. Parma leverages VM-level isolation to execute a container group within a unique VM-based TEE. Besides container integrity and user data confidentiality and integrity, Parma also offers container attestation and execution integrity based on an attested execution policy. This policy, which is specified by the customer, delimits the actions that the cloud service provider is allowed to take on their behalf when managing the container group.
Our evaluation of Parma across a diverse set of workloads shows that container groups can enjoy the security guarantees of TEEs with at most 1% additional overhead. Finally, we have deployed Parma as the underlying technology driving Confidential Containers on Azure Container Instances.