menu icon

    Confidential Computing

    The cloud computing revolution has brought new security challenges. Confidential computing aims to protect applications and their data when running in the cloud. It works by consistently keeping the application and data encrypted, and only decrypting it inside the processor using keys known to the application/data owner and the processor.

    Overview

    Confidential computing (CC) protects applications and data while in use by keeping them encrypted all the time, even in memory, and only decrypting inside the processor. The decryption keys are known only to the application/data owner and the processor. This way, even a compromised operating system or hypervisor can’t peek into the application or steal any sensitive data. Confidential computing is critical for cloud deployments, but also for edge deployments where such devices can be easily compromised or stolen. It’s also important for AI data processing where data needs to be shared (such as federated learning) but the data owners don’t trust the infrastructure where data needs to be jointly processed. At IBM Research, we’re focusing on three key areas within confidential computing. The first is addressing fundamental gaps in organizations being able to use confidential computing services. Our goal is to make confidential computing work with all applications, irrespective of how they are packaged. The second area focuses on analyzing the security of different CC implementations to identify and eliminate possible attacks. The third focuses on extending confidential computing to new hardware, both processors and accelerators, such as GPUs and FPGAs.

    Our work

    Publications