Skip to content
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

Support for switching off TLS channels #554

Closed
strieflin opened this issue Apr 26, 2022 · 6 comments
Closed

Support for switching off TLS channels #554

strieflin opened this issue Apr 26, 2022 · 6 comments

Comments

@strieflin
Copy link

We use MP-SPDZ as the MPC engine within the Carbyne Stack cloud-native MPC platform. ATM we use a heavily outdated version of MP-SPDZ but are in the process of replacing that one with a newer version (see carbynestack/ephemeral#15) By using functionality of the Istio service mesh, we are outsourcing the responsibility to ensure inter-player communication happens over TLS-secured channels. Is it possible to disable TLS channels in the MP-SPDZ implementation to avoid the overheads of TLS-over-TLS and the complications of managing certificates on the level of Kubernetes Pods running the MP-SPDZ engine instances. If not would you consider implementing such a feature to enable downstream use in Carbyne Stack?

@strieflin strieflin changed the title Support switching of TLS channels Support switching off TLS channels Apr 27, 2022
@strieflin strieflin changed the title Support switching off TLS channels Support for switching off TLS channels Apr 27, 2022
@mkskeller
Copy link
Member

TLS can be switched off using -u in honest-majority machines. In dishonest-majority machines it is switched off by default. If you want to make a deeper change, you can simply look for CryptoPlayer in the code and replace its occurrence by PlainPlayer. In any case, there are a few double-checks by calling the insecure function (in Shamir.hpp and Replicated.hpp for example), which need to be removed in order to run without warnings and without the INSECURE compiler flag.

@strieflin
Copy link
Author

I see. Keeping the issue open for now in case our investigations on what is exactly needed to make it usable in our setting create further need for discussions. Thanks!

@kindlich
Copy link

kindlich commented May 4, 2022

Is this only about the communication between multiple Machines, or also when using the Client Functionality?
The Carbyne Stack usecase makes use of Clients, so they would need to allow for non-TLS'ed communication between a Client and MP-SPDZ VM, too.

@strieflin
Copy link
Author

@mkskeller: Can TLS be switched off for client/engine connections? If not, any chance to provide that functionality?

@mkskeller
Copy link
Member

642d11f adds the compile-time option NO_CLIENT_TLS to this end.

@strieflin
Copy link
Author

Thank you very much @mkskeller. Will give that a try ASAP. Closing this for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants