-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Isolated and attesting TFHE-rs program executor in TEE (AWS NE) #97
Comments
Hello tomtau, Thank you for your Grant application! Our team will review and add comments in your issue! In the meantime:
|
Hello @tomtau, The idea of attestation is interesting. |
@aquint-zama yes, I was originally thinking of TFHE, but then I thought Concrete may be more end user-friendly. |
@aquint-zama I updated the proposal for tfhe-rs |
We might have some topics in a near future involving secure environment but right now it's hard to give a direction and validate this grant. Keeping the topic for later. Thanks for your proposition! |
Zama Grant Program: Application / Isolated and attesting TFHE-rs program executor in TEE (AWS NE)
Please give us as much information as possible on the project you would like to submit. You can find inspiration from our existing list of grants.
Deliverables
The solution would include the following components:
Roadmap
Part 1: TFHE-rs program loader and enclave helper tooling
The first project phase explores the foundational tooling needed for the enclave application development. That includes handling TFHE-rs program preparation and loading as well as missing components for the enclave application, such as
hyper
client implementation over the vsock protocol that is needed for using the AWS SDK for Rust within the enclave application.Part 2: Enclave app
The second project phase focuses on developing the build environment and the initial Nitro Enclave application. The application will take input bundle (TFHE-rs program, server key, and encrypted inputs) from the host, execute them and return the result altogether with the attestation document that contains
user_data
corresponding to a compact representation of the input bundle (most likely, cryptographic hashes of input components and the TFHE-rs library version).Part 3: Host app and Client-Server
The third project phase includes development of the client-server protocol and the host application that handles communication with the enclave application and the outside services. Given the FHE program execution may be a computationally intensive operation, some protocol operations may need to be asynchronous, i.e. the client will be assigned a unique request ID after submitting its execution request and will be able to query its status (enqueued, being processed, error, success) with details and download the computed result and attestation document if they are available.
Part 4: Client app and docs
The fourth project phase involves producing the client application that can submit the input bundles, verify the returned results's attestation and report any problems (hash mismatches, certificate chain verification issues etc.). Besides that, it contains writing up the relevant documentation for the end-to-end deployment and sample application flow.
Macro Sizing (Estimated)
Part 1 : 4-6 days
Part 2 : 6-10 days
Part 3 : 6-10 days
Part 4 : 4-6 days
https://aws.amazon.com/ec2/nitro/nitro-enclaves/
https://crates.io/crates/aws-nitro-enclaves-nsm-api
https://docs.aws.amazon.com/enclaves/latest/user/verify-root.html
The text was updated successfully, but these errors were encountered: