  Trusted-execution environments (TEE), like Intel SGX, isolate user-space
applications into secure enclaves without trusting the OS. Thus, TEEs reduce
the trusted computing base, but add one to two orders of magnitude slow-down.
The performance cost stems from a strict memory model, which we call the
spatial isolation model, where enclaves cannot share memory regions with each
other. In this work, we present Elasticlave---a new TEE memory model that
allows enclaves to selectively and temporarily share memory with other enclaves
and the OS. Elasticlave eliminates the need for expensive data copy operations,
while offering the same level of application-desired security as possible with
the spatial model. We prototype Elasticlave design on an RTL-designed
cycle-level RISC-V core and observe 1 to 2 orders of magnitude performance
improvements over the spatial model implemented with the same processor
configuration. Elasticlave has a small TCB. We find that its performance
characteristics and hardware area footprint scale well with the number of
shared memory regions it is configured to support.
