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

[Feature] New Enclave Attestation Method with ECDSA. #764

Open
mohammedpatla opened this issue Jun 29, 2021 · 11 comments
Open

[Feature] New Enclave Attestation Method with ECDSA. #764

mohammedpatla opened this issue Jun 29, 2021 · 11 comments
Labels
dev Critical path development tasks IBC

Comments

@mohammedpatla
Copy link
Contributor

mohammedpatla commented Jun 29, 2021

I am opening this feature request to add a new method for enclave registration using the new SGX attestation method: Elliptic Curve Digital Signature Algorithm (ECDSA) Attestation.

This was introduced with the new 3rd gen scalable Intel CPU's (Xeon's) Intel Link

Currently, we use the SGX - EPID method to attest certificates. It would be nice if both these were supported, as this would add all the new-gen CPU's to be supported to run the network while still being backward compatible.

This would provide more available server-grade hardware to run Secret Nodes.

@assafmo
Copy link
Member

assafmo commented Jun 29, 2021

Any change to the enclave is not trivial when you have to deal with encrypted data migration, so I'd like yo hear from the Infra committee about this. Is this going to open the possibility for new hardwares to be used? Will this cut costs for node runners?

@mohammedpatla
Copy link
Contributor Author

CC: @moonstash

This will NOT reduce costs on the hardware end but definitely gives operators more hardware choices, as new cloud providers are starting to provision the use of the new Xeon Silver/Gold/Platinum Chipsets from the 3rd gen.

Since SGX is currently only supported on Server Hardware, it would be nice to open provisions for new SGX chips.|

But I would like to understand how hard this would be to implement in parallel with the current method? Or if its at all possible? Because we need both of those to support wide range of hardware.

IMO on the feature request list :
Multithreading > New Chip support.

@PrivatePixels
Copy link
Contributor

My thoughts.

  1. Does this reduce costs for node runners? Yes, but only at scale.
  2. Does this open the door for more hardware? Yes, absolutely.

What else does this do?

While enigma has not yet said they are committing to updating to the new generation of SGX, In my view, making an update like this allows for some node runners to slowly transition to hardware that works with the new SGX from intel, on the 3rd Generation Scalable processors.

My Questions

  1. How much work is this?
  2. What are thoughts on this from EnigmaMPC?

@assafmo
Copy link
Member

assafmo commented Jun 30, 2021

IMO on the feature request list :
Multithreading > New Chip support.

@mohammedpatla
Multithreading might be possible in queries.

How much work is this? What are thoughts on this from EnigmaMPC?

@moonstash
It's a moderate amount of work, but we definitely want this in order to keep up with the latest security patches (which eventually will only come to the newest hardwares).
Plus, changing the enclave means a hard fork, so we might want to push it in with the IBC upgrade.

@mohammedpatla
Copy link
Contributor Author

If multithreading is the thing being pushed for the new update then we can have that as a priority over this feature. But otherwise, I think as far as infrastructure is concerned this Feature request should be seriously considered for the next upgrade provided we are backward compatible.

@PrivatePixels
Copy link
Contributor

IMO on the feature request list :

Multithreading > New Chip support.

@mohammedpatla

Multithreading might be possible in queries.

How much work is this? What are thoughts on this from EnigmaMPC?

@moonstash

It's a moderate amount of work, but we definitely want this in order to keep up with the latest security patches (which eventually will only come to the newest hardwares).

Plus, changing the enclave means a hard fork, so we might want to push it in with the IBC upgrade.

Another reason why this might be more important to do, sooner than later.

Intel discontinued the E-2288g which was the highest tier processor supported for SGX on secret. It was discontinued to use those facilities to make newer generation CPUs.

Trying to figure out if the lower tier ones are getting discontinued but still concerned about this recent development.

@PrivatePixels
Copy link
Contributor

image

It appears the xeon e line is discontinued now.

@reuvenpo reuvenpo added this to To do in Stargate + IBC via automation Jul 4, 2021
@assafmo assafmo added IBC dev Critical path development tasks labels Jul 22, 2021
@mohammedpatla
Copy link
Contributor Author

mohammedpatla commented Aug 10, 2021

@assafmo Just to reiterate on this, the Infrasture committee has evaluated this to be very important, currently only the
2288G - 8 core works with hyperthreading, which is going out of the market due to it being discontinued.

This would be plus one for IBC hardfork.

CC: @moonstash

EDIT:- to clarify since its going out of market (and already limited supply) we need to run other processors which takes away the ability to run nodes on the same hardware due to hyperthreading being disabled.

@gaia
Copy link

gaia commented Aug 10, 2021

2288G

Not sure I understood the sentence, Mohammed. just to clarify Secret SGX runs on any 21xxG and 22xxG processors, though it needs HyperThreading disabled on all processors with less than 8 cores. But yes, they are ALL being discontinued.

Again, the SGX module needs to able to be run on a different machine from the Cosmos SDK. This will enable greater flexibility on which platforms can host the chain.

@mohammedpatla
Copy link
Contributor Author

Is this being a target for v1 or v2 of IBC @assafmo

@assafmo
Copy link
Member

assafmo commented Oct 6, 2021

v2. It's kinda a lot of work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev Critical path development tasks IBC
Projects
No open projects
Stargate + IBC
  
To do
Development

No branches or pull requests

4 participants