fortanix / rust-sgx

The Fortanix Rust Enclave Development Platform
https://edp.fortanix.com
Mozilla Public License 2.0
434 stars 98 forks source link

Consider datagram networking (UDP) #75

Open jethrogb opened 5 years ago

jethrogb commented 5 years ago

Currently, the Fortanix SGX ABI only supports stream networking. This is sufficient for most use cases. No decision has been made whether to add datagram networking in the future or not. Some things to consider:

briansmith commented 5 years ago
  • Does datagram networking have a big enough role to play in microservices/distributed systems?

Yes, soon, because of HTTP/3, which is based on QUIC, which is UDP-based.

Are there sufficient options to securely use datagram networking (DTLS?)?

Yes, soon, via QUIC, which is similar to DTLS.

jethrogb commented 5 years ago

@briansmith Thanks, that does sound like a compelling reason.

jethrogb commented 5 years ago

Actually, reading some more, QUIC just provides a byte stream abstraction. So while it may use UDP to do the underlying communication, streams still seem like the appropriate abstraction to expose to the application. I think all the QUIC handling could and should be done outside the enclave.

jethrogb commented 5 years ago

I did some more reading and my previous comment is not correct. Still, I don't think all of QUIC should be handled in the enclave. I'll come back to this later.