  Intel(R) Software Guard Extensions (Intel(R) SGX) is a promising technology
to securely process information in otherwise untrusted environments. An
important aspect of Intel SGX is the ability to perform remote attestation to
assess the endpoint's trustworthiness. Ultimately, remote attestation will
result in an attested secure channel to provision secrets to the enclave.
  We seamlessly combine Intel SGX remote attestation with the establishment of
a standard Transport Layer Security (TLS) connection. Remote attestation is
performed during the connection setup. To achieve this, we neither change the
TLS protocol, nor do we modify existing protocol implementations.
  We have prototype implementations for three widely used open-source TLS
libraries: OpenSSL, wolfSSL and mbedTLS. We describe the requirements, design
and implementation details to seamlessly bind attested TLS endpoints to Intel
SGX enclaves.
