This paper is very cool: behavior oracles in interactive systems that reveal successful decryption can, with a bunch of different AEADs incl. GCM and Chapoly, discern which specific key was used in something resembling log k queries. eprint.iacr.org/2020/1491.pdf
It’s based in part on the idea of “non-committing AEADs”, which are, roughly, AEADs where the specific key used to encrypt isn’t encoded into the output. For something like GCM, this means it’s straightforward to generate K_1, K_2, and C which decrypts under K_1 and K_2.
I found Shay Gueron’s writeup on key committing AEADs to be pretty accessible (I’m just reading casually), with worked examples. eprint.iacr.org/2020/1153.pdf
Anyways, this stuff is problematic for password-based systems; if you’ve got a system that will reveal whether decryption succeeded (super common!) and you can make a C compatible with K_1, K_2, you can for instance guess multiple passwords with each query.
An “oh shit” insight here is multicollisions; generally the idea of, given a K_1 and K_2, we can often easily find K_n. For instance, with GCM, we can do it with Gaussian elimination (albeit clumsily)
(Sean wrote up a simpler, unrelated multicollision attach in Set 7, with MD5/SHA-style hashes; read down to “How?” to see the intuition for it, and maybe just implement it, b/c that exercise is p. great cryptopals.com/sets/7/challen…)
Anyways the GCM key multicollision is more complicated but totally feasible modulo crashing Sage if you try to collide 260k keys into a single ciphertext.
So you have these interactive systems

* whose keys are derived from passwords, so there’s a relatively small universe of possible keys

* that reveal whether decryption succeeded (super common property!)

* built on non-committing AEADs that we can collide lots of keys with
So: iterate querying the system for huge batches of passwords at a time (by creating the frankenciphertext that successfully decrypts for, like, 259k different passwords); when you get a hit, refine by querying for subsets of those passwords. Yikes!
(I don’t know how practical any of this is in reality; the 260k-password franken-GCM is like 4 megs long and takes like 5 hours to generate.)
Interestingly: Poly1305 is conceptually vulnerable to the same attack, but its engineering details make the attack much harder to carry out, which is very on-brand.
The authors use this attack to break Shadowsocks, which uses handshake messages encrypted w/ GCM keyed by HKDF(H(pw), salt). On successful decrypt, Shadowsocks opens a listening ephemeral UDP port, which you can just scan for.
If I’m reading this right, Shadowsocks is considerably worse than the sort of generic oracle-vulnerable target; once you get a hit on your initial iterated query, it responds with something you can trial-decrypt offline.
Thanks for @FiloSottile for calling this paper out on his AMA yesterday; it’s one of the neater crypto attacks I’ve read about in the last couple years.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Thomas H. Ptacek

Thomas H. Ptacek Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @tqbf

16 Nov
Mudge is the new head of security at Twitter, which got me talking about cDc, hacking groups, cliques, and the distinctions between them. I mentioned 8lgm and TESO as examples of hacking groups best understood as hacking groups, unlike cDc.

Someone said: “never heard of them”.
This creates an opportunity for me to talk again about my favorite exploit of all time, unquestionably a part of the canon of our field.
The year is 1995 and BSD Unix runs the Internet. The most important hacking target is SunOS 4.1.3; every network you want to get on is running it somewhere, and often everywhere.

The most important SunOS security research group: 8lgm.
Read 19 tweets
16 Nov
Kind of crazy watching the orange site, which believes I’m an NSA stooge, fall over itself arguing that publishing DKIM keys to provide deniable email would be a grave injustice, depriving “activists and historians”.
This is what happens when you have a culture that attempts to derive everything axiomatically, just moments after reading something. They forget that deniable messages are literally part of the premise of messaging cryptography. otr.cypherpunks.ca/otr-wpes.pdf
This is currently the top comment on the thread. Again: these people think I’m a shill for NSA.
Read 6 tweets
19 Oct
So here is a paragraph.
We live in… times.
I love this article so much.
Read 8 tweets
16 Mar
Welp it’s 6PM and the one judge with the key to our equipment is nowhere to be found so this is all going great.
Also according to the signal strength indicator it’s possible I moved our precinct into a faraday cage so go me!
Flash update: we have established contact with the poll tech. Her first question: “do you have the key to the equipment?”
Read 30 tweets
24 Jan
Here is an argument against donating to presidential candidates, stated less glibly than I did last night.

First premise: downballot races need the money. Even small donations to House and state candidates make a difference.
Second premise: presidential candidates don’t really need your money. They won’t notice it. They’re swimming in it.

Third, and most important premise: a downballot donation helps the top of the ticket.
That is to say: every dollar you donate to JD Scholten in IA-4 is going to help Sanders, Warren, Klobes, whoever. The voters JD Scholten turns out aren’t going to vote for Trump.

(Is that 100% true? No, but, close.)
Read 6 tweets
11 Oct 19
While I’m babbling about hiring: one thing we do for our startup clients is help with recruiting. We do that in a bunch of different ways (everyone recruits a little differently).
BY WAY OF EXAMPLE let me tell you about Hudl, who we’ve been working with for awhile and are just awesome people. Hudl does sports analytics.
I am (s h o c k e r) not a sports person, but I’m not a day trader either and found pentesting FIX endpoints and order routers totally fascinating.
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!