Perpetual Powers of Tau on SGX: A Community zk-SNARK Trusted Setup in a TEE
ETHCC 3 · March 2020 · 24:08
Eduardo Antuña Diez discusses a community zk-SNARK trusted setup using Perpetual Powers of Tau and SGX trusted execution environments.
Speakers
Topics
From ETHCC 3, hosted by Ethereum France.
Transcript
are you ready for the stream right you can start hi everyone for those who turn on me in the Vardanyan and I am the play it off damn not but today I want to talk about something that is not very likely to tablet it's more community or citrate and it's maybe more related to eysan tree and the idea is to talk about the perpetual power of style on scene this a community seek a snarl extract it up and for for starting I would like to talk about the power of style this ceremony started what started by the sky foundation it becomes very very famous
scene some people get some turn old ways to generate the random for for the power of Tao and in total 87 participant took took place in this ceremony and idea I used to create these trusted set up for the circuit so the idea of Petrobras style comes from that is lead by Maria hijack what if I had an we wait and mainly daddy I used to create a multi-party Trustees rap as maybe you know the thickest narc required a trusted his abs and it's called frosted scenes you need to trust that the pie
that is giving you the theory would delete the toast is quite or its able to create fake pros so mainly the idea that is behind this is to create a chain of trusted setups so that means that if only one party the participant is is honest is enough to make all the chain trust trusted and you can be sure that no one can create a fake proofs mainly this is how it looks like in schema and the idea is to create a kind of chain of trust at the beginning the in for first phase and the
ceremony continues into perpetuity so anyone can yes as for me member participate in this ceremony and our more security reported to the network and mainly the second idea is if you have a project and you want to use these these strategies for your circuit you can take the last participation and rate a new one and you a small chain for you pray it and nothing and at the end deploy to production and you are can take advantage of all the contribution of all the network now it's time to talk a little about the interest required
section section and well it's a security related instruction coach bill into modern Intel CPUs well most of the sixth generation of Intel CPU have it by default you need to enable and in the BIOS and allow you to define purity range of memory called enclaves and the most important thing about these is that you can create protected memory places in which is not possible to read or or write without permission so this is how intellect e^x application looks like the paradigm is a little different as regular application you have two
separate zones one is the untrusted code another one is the trusted code I'm a little yes that unit channel it you prayed in clave in the untrusted code and if you need to make something in the secret on on the tragic code you need to make calls using this colgate so only through that gate you can make calls to the process on so for example imagine that you have a private key the idea is that the private key is safe and the trusted coded code and you only can ask for signatures not for the private key but that depends from the design of the application this is the first disclaimer about this earth people know that the Intel SGX
is not secure or well had been rocket several times the lash years so depends on the use of the of this technology come mixing or not for example this is a list of the last hugs that happened to the ATX the last one is a plan the wall that's modifying the double teach of the CPU you can access to the secret that art store it on the on the HDX and if you want to know more even during this talk the people from Wynette make a good talk about while users you should not use se X on your projects or Europe
occupied it so do you need to be aware that it's possible that your Chiclets are going to be a stolen so you need to think about that but in some case like this one in which the security doesn't rely on the hardware relies on the protocol so it's not a big deal if you break one XCX because you are not able to break all the contribution all the party some participants make sense to use seen is one to add a new extra layer of security right now in the Korean implementation to get access to the toxic waste you only need to write a console lock and you get all the all the ways and with this implementation you are going to be forced to make a perform
on an AC X attacks so you managed to do it congratulation but it's not you know not going to do nothing for you and more benefit that we can take from this implementation is that well take a pair generation happens ending clave so you are you need to perform an attack to get that toxic-waste the ax comes with random generation a harbor random generation that is much better that software randoms but since he has an addition to the pouring limitation so we only add more Enterprise enterprise to the to the secret finally they we are going to take advantage
of the internet addiction services that I can't explain in the necess slices about implementation well had used the process DX prank or mainly because the original implementation made by Kovac working was made in brass so that allowed me to reduce most part of the code I make easy to out it the new lines of code I need to make some modification on the arena libraries in since this SDK doesn't allow to use standard libraries and that is why I need to modify finit fields and pair in another's but the most important is this one and now if
you want to use fin it feels so paling in your HDX you can do it with this library it is obviously this all these discipline source and another challenge it was to be able to create three possible bills because when you are running this kind of code you need to have a way to verify that you are running what is publishes on github or another repository so in Jerry I have the opportunity to be the 2d participant of the ceremony determining is progress as you can see here right now 22 participants and this is between the the right is the common participant distinction response you
have the challenge house that you use to generate you have the response house that you are basing your your participation and the response was this is the same from for whatever you want in my case for my proof I use an Intel nook with Celeron and the HDX naval and the thin is with this modification with this nice new implementation after you generate the talents result of the challenge you get a quote of the of the result the idea is to use these with a IntelliJ station services this service is more intended to be used
in that way in which you have a server and you want to be sure that the the icx had been crated with the correct parameters so you the Intel provide a quotation clip that allow you to make sure you land clave and on the different configuration that you have in your system so that means that for example you have enabled a port reading you are going to get a different result from okay it's going to warn you that you this machine have that enabled since you can perform site set channel attacks and the idea of this system is just to provide a approve to the server so the
server can send you some kind of secret but in in this implementation it is quite different each you have to have a proof that you can go to the Intel services and provide yes this quote to verify that you create this computation inside an IC xm4 for that exact key pair so this was my my quotation as you can see is we include what the status is okay but for example if you have an all-wise version you are going to have another error message so this is a verification that at the moment that I did it there is not any vulnerability no at that moment
yeah well you come parse this quotation this is well they think that this quotation clay by Intel is providing you but the important part of these the most important part of this is the Emma and clave and emerge signer and they reported the clave is a measure of the binary that you are running this allow you to prove that no one has tempered the binary and you are running the original version without modifications and that's very very important another one is the signer I mean mainly that is you get Intel certificate to be able to
polish as the X application is to provide a filter for MA for malware and mainly is to sign your binaries with your public key that is related to your company or riot this one for example is for the audience Association rated 2003 and that allows you to verify that you are running a binary sign it by this entity I'm finally the report data is custom data that you can send when you ask for this petition and allow you to prove that you are creating some scenes or or or or nothing has no dependent you reduce case but in in this case the
scene that I wrote in the Ripper data is the public part of the key pair and the house of the purpose of the private computation so when you have a quotation and you take a look to this report data you can prove to someone that you generate the skipper only for the specific previous computation and that this public key that is in the challenge also when you send to other participant was use it for for this and at the end to SMAP is you have a proof that you have running this perpetual power of tau computation in sign an display and this
kiss was only using for these I mean one of the problem that you have now is if you get the renal bio the binary you can modify and no one's can know but with with these you have a proof that you use the regional implementation with no modifications and that allow you a new level of trust in the blue machine there are several limitation well if as I told you I see egg is not perfect you need to trust on Intel um the idea of the patrol power of tau is not only used this implementation is to combine several T's or several implementation
at the end when we get more people and more intermediate running then the Ching is gonna be more more more attracted another thing is thang on solutions to avoid side-channel attacks right now it's not constant and it would be great to be able to only shine over not sign made operation with original chunks of the of the challenge and not be able to with several things and finally that he has to improve this and to move to the Phase two so with this implementation in Phase two you are able to prove that the the strategy lab
that that you are using for your project as we may with this implementation and you get all the signature for Intel and all the stuff that I just told you so you can have kind of proof to put in your website on you project that you make in this way and you have all the tracks of all the chain yes thank you if you want to know more about these you can write me in turnaround Peter send emails take a look to implementation or read the medium article about this limitation well thank you thank you for coming if anyone has question with some time
you you no one it was very clear thank you very much thank you thank you guys we're just waiting for the next speaker you