Live data from Hacker News

Engineering with Enclaves

onefootprint.com

1–10 of 26 posts

Re: Engineering with Enclaves

#3
Enclaves are really useful, but I wish AWS would support an SDK in Go or another language. The current one is written in C: https://github.com/aws/aws-nitro-enclaves-sdk-c

There are some third party implementations available, but we'd worry too much about maintenance of those to use them. Something officially supported would really be helpful.

Re: Engineering with Enclaves

#4
post #3

Enclaves are really useful, but I wish AWS would support an SDK in Go or another language. The current one is written in C: https://github.com/aws/aws-nitro-enclaves-sdk-c There are some third party implementations available, but we'd worry too much about maintenance of those to use them. Something officially supported would really be helpful.

yes agree! we use Rust and ffi into this C library, but wish there was a native Rust SDK as well

Re: Engineering with Enclaves

#5
Last I looked the NitroTPM product didn't have anything like an Endorsement Key certificate or any mechanism for authenticating a public Endorsement Key. Discrete TPM chips usually have an EKcert. GCP's vTPMs do not have an EKcert but Google provides a facility for looking up a guest's EKpub. It'd be nice if NitroTPM also had this.

Also, it's passingly strange to see PCRs mentioned with no mention of TPMs.

Re: Engineering with Enclaves

#6
Confidential computing is really exciting in terms of software workload identity! As mentioned in the article, the AWS Nitro Enclaves PCR0 is a runtime measurement of the enclave image file, which contains all the code that is running - in other words, a representation of "something you are" rather than "something you have" (a token, a certificate, etc.).

Side note - I work on confidential computing at Anjuna, would love to talk more.

Re: Engineering with Enclaves

#7
I'd appreciate pointers to adversarial attack models on nitro. I find papers leveraging nitro to build higher order processing models, I think it looks good, but where's the work to certify it in something analogous to FIPS? Nitro+FIPS searches suggest its hand-off to a card, not innately in the s/w system itself so its the usual key leakage issue: the real key might not leak, but ability to operate the key may in some circumstances be as bad as leaking it: if a Nitro instance can be subverted, it can securely sign to the end of time for bad purpose.

Re: Engineering with Enclaves

#8
My team and I are deploying a zero trust independently verifiable secret forwarding system on AWS Nitro Enclave, please ask me anything.

The idea is basic secret forwarding - you want to send a secret to many destinations, but find it too cumbersome to encrypt it with each destination’s public key, or you might not have all the public keys in hand.

To address this, we provide you with a code base running inside a Nitro Enclave. You have a KMS account, and you configure it to allow access only to 1) our code base hash AND 2) only when that signed code is running inside a certified Nitro Enclave.

The enclave bootstraps itself on first run by generating a key pair and encrypting the private key with a data key from KMS.

You can then send a secret to the enclave encrypted with its public key, and verifiably know exactly what’s going to happen. Only trusted code running inside the secure confines of the enclave would be able to decrypt and operate on the secret.

There’s lots of gotchas - if you make a server in the enclave remember to use a server that binds on the VSOCK AF and port; on the host run socat or a systemd socket unit to translate HTTP/TCP calls into the enclave’s VSOCK. Make sure you enrich all requests passed into the enclave with all the data and encrypted artefacts it needs to work. Make sure to send the encrypted artefacts out from the enclave and store them safely.

We do this for cinema movie distribution - filmmakers just send their movie’s encryption key to this system, and it sends it out to the public key of each projector in each screen in each theatre in the world. And big studios can verify that their billion dollar movies aren’t going anywhere other than their chosen rules.

Re: Engineering with Enclaves

#9
post #8

My team and I are deploying a zero trust independently verifiable secret forwarding system on AWS Nitro Enclave, please ask me anything. The idea is basic secret forwarding - you want to send a secret to many destinations, but find it too cumbersome to encrypt it with each destination’s public key, or you might not have all the public keys in hand. To address this, we provide you with a code base running inside a Nit…

How did you verify and validate that a AWS Nitro Enclave actually provides isolation and attestation guarantees?

Do they provide certifications or audits confirming conformance to multi-level security guarantees? Or do they provide you detailed specifications allowing you to evaluate that yourselves? Did you run red team exercises that resulted in no detected deficiencies as would be required by a multi-level security claim?

Re: Engineering with Enclaves

#10
post #9
post #8

My team and I are deploying a zero trust independently verifiable secret forwarding system on AWS Nitro Enclave, please ask me anything. The idea is basic secret forwarding - you want to send a secret to many destinations, but find it too cumbersome to encrypt it with each destination’s public key, or you might not have all the public keys in hand. To address this, we provide you with a code base running inside a Nit…

How did you verify and validate that a AWS Nitro Enclave actually provides isolation and attestation guarantees? Do they provide certifications or audits confirming conformance to multi-level security guarantees? Or do they provide you detailed specifications allowing you to evaluate that yourselves? Did you run red team exercises that resulted in no detected deficiencies as would be required by a multi-level securit…

Trust in AWS and Nitro HyperVisor system is taken for granted here, if that’s what you mean. We don’t necessarily examine AWS’s code or hardware, we’ll just have to take their word for it.

Which is what we and our customers do already, when we run our workloads on it.

We know this is a problem, but this is where we’re ok with drawing the line. If you’ve seen Reflections on Trusting Trust you’ll know we have to draw the line somewhere.

Post reply on HN