Good Morning Australia! Good Evening Switzerland! Today @VTeagueAus, Olivier Pereira & I are releasing details of a second critical flaw in the Scytl/SwissPost #evoting code base. As well as several other soundness issues in other zero knowledge proofs in the system.https://twitter.com/VTeagueAus/status/1109907765575639040 …
-
-
Unlike the previous issue, this attack would leave a trace, but the proofs would say everything is fine. It would be like seeing smoke coming out of your car engine but with no warning light on the dashboard.
Näytä tämä ketju -
Along with our paper documenting the issue, we are also releasing code that demonstrates the issue in the SwissPost code base:https://twitter.com/VTeagueAus/status/1109907766951370753 …
Näytä tämä ketju -
@NSWEC decided to respond to our private disclosure via a public press release a few days ago: https://www.elections.nsw.gov.au/About-us/Media-centre/News-media-releases/NSW-Electoral-Commission-iVote-and-Swiss-Post … - Considering that they were impacted by the earlier issues, it is an open question as to *why* they are not impacted by this one.Näytä tämä ketju -
You can also read an analysis about what a second critical flaw in the SwissPost code base means for iVote here:https://pursuit.unimelb.edu.au/articles/what-a-second-flaw-in-switzerland-s-svote-means-for-nsw-s-ivote …
Näytä tämä ketju -
In my opinion, it is important to understand this issue in context, which is one of the reasons we are also releasing details of a number of other major issues that we found with the zero knowledge proofs in the system. -These are *not* isolated, easily fixed, issues-
Näytä tämä ketju -
The following tweets are a summary of the other issues that we found that we are publicly disclosing today. Some are implementation issues that may impact soundness, some are...well I'll get to them.
Näytä tämä ketju -
The weak Fiat-Shamir transform leading to the Decryption Proof break impacts many of the other ZKP implementations (they all share a common base implementation) - we show how this impacts the soundness of the Schnorr Proof (this likely cannot be exploited in Swiss Post)pic.twitter.com/MN8kiNyKzE
Näytä tämä ketju -
One of the first issues I found in the code was a critical break in the OR Proof construction (which reduces it to not-a-proof at all). Why is there an OR Proof in this code? Great question! Scytl confirmed to me via email that it had never been used in a real system.
Näytä tämä ketju -
echo -n "I'll be concise and to the point, and in good faith I will tell you that I think there is an issue in your OR proof construction (com/scytl/cryptolib/proofs/maurer/factory/ORProofGenerator) - 2019-03-14" | sha256sumhttps://twitter.com/SarahJamieLewis/status/1106226496048230400 …
Näytä tämä ketju -
The above commitment was from an email I sent Scytl asking if the OR Proof had ever been used as I was concerned that (like as happened before with the Shuffle Proof) that non-Swiss evoting code had also been released along side the Swiss code.
Näytä tämä ketju -
Anyway, this OR Proof was missing a vital check in the verifier that resulted in it just not functioning at all. As I said before, this was completely dead code. But very broken dead code nevertheless.pic.twitter.com/RVfEgJpKAk
Näytä tämä ketju -
Interestingly the presence of the OR Proof seems to violate the swiss evoting ordinance: "The documentation on the system and its operation must explain the relevance of the individual components of the source code for the security of electronic voting". https://www.admin.ch/opc/en/classified-compilation/20132343/index.html#a7b …
Näytä tämä ketju -
Finally, the underlying proof framework that drives many of the ZKPs uses a non-collision resistant hash function. One of the key assumptions for the soundness of non-interactive ZKPs is that the hash function must act like a random oracle. It does not.pic.twitter.com/TpcYkCRBhU
Näytä tämä ketju -
Many of these issues are not exploits in themselves, but are indicators of insufficient skill/attention/auditing in the design, implementation and checking of the system. None of these should have survived a competent audit. (How many audits has this system gone through again?)
Näytä tämä ketju -
I can confirm that
@matthew_d_green was wrong about this one.https://twitter.com/matthew_d_green/status/1097568577958412289 …Näytä tämä ketju -
I wasn't asking a hypothetical (https://twitter.com/SarahJamieLewis/status/1106974216090341376 …) We have found critical issues in 2 major components of this system, and...*counts on fingers*...all of them if you count the many soundness issues in the other ZKP implementations. And +1 if you count the dead OR Proof.
Näytä tämä ketju -
For the record, I asked Scytl if they would issue a public apology for their initial press release that stated that the initial criticisms of the their system were "based on misunderstandings related to the cryptographic mechanisms" They are still considering.
Näytä tämä ketju -
I think we can all agree that this tweet aged very, very wellhttps://twitter.com/SarahJamieLewis/status/1097322881690693633 …
Näytä tämä ketju -
It is a good time to remind everyone that the presence of Zero Knowledge Proofs in the swiss system was one of the major selling points. If anything should have been polished, audited, impenetrable it should have been the proof implementations. They were not.
Näytä tämä ketju -
And so here we are. Let me predict the public responses: "A hacker would have to compromise several systems in order to get a chance at pulling this attack off, and it would be detectable" "The PIT worked and now the code is battle-hardened, what a success"
Näytä tämä ketju -
None of this matters. The exploitability of this flaw, or the previous flaw don't really matter. What really matters in terms of the analysis of these systems is that this system was supposedly "state-of-the-art" and "ready for the challenge" It has been found wanting.pic.twitter.com/Oa5clfozc9
Näytä tämä ketju -
If you are Swiss, and this all concerns you I'd suggest looking into your political options, contacting representatives,
@eVoteMoratorium (https://wecollect.ch/de/campaign/evoting-moratorium/ …) among others. In my opinion, you should be asking serious questions of the entire development and funding process.Näytä tämä ketju -
If you are Australian, and this all concerns you, after all many of you just participated in an election on software that clearly shares code with the Swiss system. You should be pushing for transparency in your evoting systems:https://pursuit.unimelb.edu.au/articles/what-a-second-flaw-in-switzerland-s-svote-means-for-nsw-s-ivote …
Näytä tämä ketju -
If you are in a country that is also adopting/has adopted evoting. Many of the point in the above linked article apply to you to. Without openness & transparency many of these issues, and possibilities for manipulation, would have gone undetected.
Näytä tämä ketju -
I'm probably going to get some pushback again for "politicizing" this again. But: 1) This is software that determines national power distributions ffs 2) I run a non-profit that fights with & for marginalized communities. Everything is political, deal with it.
Näytä tämä ketju
Keskustelun loppu
Uusi keskustelu -
Lataaminen näyttää kestävän hetken.
Twitter saattaa olla ruuhkautunut tai ongelma on muuten hetkellinen. Yritä uudelleen tai käy Twitterin tilasivulla saadaksesi lisätietoja.