  In this paper, we present a comprehensive architecture for confidential
computing, which we show to be general purpose and quite efficient. It executes
the application as is, without any added burden or discipline requirements from
the application developers. Furthermore, it does not require the trust of
system software at the computing server and does not impose any added burden on
the communication subsystem. The proposed Encrypted Data Processing (EDAP)
architecture accomplishes confidentiality, authenticity, and freshness of the
key-based cryptographic data protection by adopting data encryption with a
multi-level key protection scheme. It guarantees that the user data is visible
only in non-privileged mode to a designated program trusted by the data owner
on a designated hardware, thus protecting the data from an untrusted hardware,
hypervisor, OS, or other users' applications. The cryptographic keys and
protocols used for achieving these confidential computing requirements are
described in a use case example. Encrypting and decrypting data in an
EDAP-enabled processor can lead to performance degradation as it adds cycle
time to the overall execution. However, our simulation result shows that the
slowdown is only 6% on average across a collection of commercial workloads when
the data encryption engine is placed between the L1 and L2 cache. We
demonstrate that the EDAP architecture is valuable and practicable in the
modern cloud environment for confidential computing. EDAP delivers a zero trust
model of computing where the user software does not trust system software and
vice versa.
