HN user

doomrobo

2,234 karma

Recent PhD in cryptography from the University of Maryland

Website: https://mrosenberg.pub Github: https://github.com/rozbb Keybase: https://keybase.io/mrosenberg Email: michael (@) mrosenberg (.) pub

[ my public key: https://keybase.io/mrosenberg; my proof: https://keybase.io/mrosenberg/sigs/dR6U3ijr9MYZyBe0ueW6L90pU8Adb817jaeWietnOH4 ]

Posts57
Comments474
View on HN
blog.cloudflare.com 3mo ago

Moving Past Bots vs. Humans

doomrobo
6pts1
blog.cloudflare.com 9mo ago

Improving the Trustworthiness of JavaScript on the Web

doomrobo
65pts34
blog.cloudflare.com 1y ago

Orange Me2eets:We made an end-to-end encrypted video calling app and it was easy

doomrobo
18pts1
www.aisi.gov.uk 1y ago

AI Safety Inst.: Pre-Deployment Eval of Anthropic's Upgraded Claude 3.5 Sonnet

doomrobo
2pts0
metacpan.org 2y ago

Perl Secret Operators and Constants

doomrobo
2pts0
news.ycombinator.com 3y ago

Tell HN: Suspicious pricing for text-to-speech on AWS/Google Cloud

doomrobo
6pts4
noor.to 3y ago

Noor 2.0 – Voice, screen-share and chat for remote teams who love deep work

doomrobo
1pts0
beta.readtomyshoe.com 3y ago

Show HN: ReadToMyShoe – An offline-first web app for listening to your articles

doomrobo
39pts14
data.cityofnewyork.us 4y ago

NYC OpenData

doomrobo
2pts0
robert.kra.hn 4y ago

A Rust web server / front end setup like it's 2022 (with axum and yew)

doomrobo
3pts0
medium.com 4y ago

What you think about landfill and recycling is probably wrong (2019)

doomrobo
1pts2
github.com 4y ago

Aquatic: High-performance open BitTorrent tracker

doomrobo
1pts0
snowflake.torproject.org 4y ago

Tor Snowflake Proxy

doomrobo
197pts84
gankra.github.io 4y ago

Swisstable, a Quick and Dirty Description (2019)

doomrobo
4pts0
news.ycombinator.com 4y ago

Ask HN: How do you store your knowledge?

doomrobo
2pts4
www.navidrome.org 5y ago

Navidrome: FOSS music streaming over web and Subsonic

doomrobo
2pts0
www.jennyodell.com 5y ago

Neo-Surreal: Images isolated from 1980s BYTE magazine ads

doomrobo
5pts0
mrosenberg.pub 5y ago

Show HN: A Bookmarklet to Download Zoom Recordings

doomrobo
1pts0
www.nytimes.com 6y ago

House Pulls Surveillance Measure After Trump Tells Republicans to Vote No

doomrobo
9pts0
mrosenberg.pub 6y ago

Hash Functions Are Not (Quantum) Random Oracles, but Only Technically

doomrobo
3pts0
en.wikipedia.org 6y ago

Parallel Construction (Law Enforcement)

doomrobo
2pts0
web.cs.ucdavis.edu 6y ago

The Moral Character of Cryptographic Work (2015)

doomrobo
3pts1
mrosenberg.pub 6y ago

Supersingular Isogeny Key Exchange for Not-Quite Beginners

doomrobo
2pts0
www.reddit.com 6y ago

Announcing WT.Social (Formerly WikiTribune)

doomrobo
1pts1
www.hanselman.com 6y ago

Pico-8 Virtual Fantasy Console is an idealized constrained modern day game maker

doomrobo
132pts37
blog.trailofbits.com 7y ago

Siderophile: Expose Your Crate’s Unsafety

doomrobo
3pts0
realmensch.org 7y ago

Goodbye, Lua (2016)

doomrobo
9pts4
www.docdroid.net 7y ago

Perhaps it's time to rigorously research what we eat and why [pdf]

doomrobo
2pts0
github.com 7y ago

Veonim – A simple modal IDE built on Neovim

doomrobo
2pts0
www.evernym.com 7y ago

Evernym – Self-sovereign identity: now that it's possible, it's inevitable

doomrobo
1pts0

I’ll ask the dual question: how many of the mobile safari checkmarks are fully fleshed out? Media Session has a check, but I have absolutely fought obvious Media Session implementation bugs in my own PWAs when designing for mobile safari

Small block ciphers are thus generally a bad idea against active adversaries.

However, they can be very useful against passive adversaries whose capability is limited to observing identifiers, who are then unable to map them to the original value.

Really? Isn’t the Sweet32[0] attack mostly passive? “We show that a network attacker who can monitor a long-lived Triple-DES HTTPS connection between a web browser and a website can recover secure HTTP cookies by capturing around 785 GB of traffic.”

[0] https://sweet32.info/

Yes, if every single URL in your web application has a hash in it (including <a> hrefs) then you don’t have to worry about anyone maliciously serving a webpage anymore.

But how do you get new app versions? I argue, if you want any meaningful security guarantees, an answer to this question will require transparency and/or code signing (which itself requires transparency, per my comment below)

1. I didn't know about this [1] actually! It looks like it's been unsupported for a few years now. The format looks pretty barebones, and we'd still need hashes like you said, as well as "wildcard" entries. I reckon the JSON solution might still be the better choice, but this is good to have as a reference.

2. I agree, and this is something we have gone back and forth on. The nice thing about hashes as primary keys is you can easily represent a single path having many possible values, and you can represent "occurs anywhere" hashes by giving them the empty string. But the downside like you mention is that a hash cannot occur at multiple paths, which is far from ideal. I'll make an issue in the Github about this, because I don't think it's near settled.

3. I had read the spec [2] but never made this connection! You're right that it's not hard to imagine malleability sneaking in via headers and status codes. I'll make an issue for this.

4. I wanted to veer a bit from requiring sites to hold yet more cryptographic material than they already do. Yes you can keep signing keys "very very offline", but this requires a level of practice that I'm not sure most people would achieve. Also you run into key rotation annoyances as well. The current route to something like you describe is have every site have their own transparency log entry (though they can share manifests and even asset hosts), and use code signing to link their instance to the source of truth.

[1] https://en.wikipedia.org/wiki/Cache_manifest_in_HTML5

[2] https://www.rfc-editor.org/rfc/rfc9421.html

Gotcha, yeah I agree. Fwiw, with the imagined code signing setup, the pubkey will be committed to in the transparency log, without any extra work. The purpose of the plugin is to give the browser the ability to parse (really fetch, then parse) those extension values into a meaningful policy. Anyways I agree, it'd be best if this part were built into the browser too.

I'll actually argue the opposite. Transparency is _the_ pivotal thing, and code signing needs to be built on top of it (it definitely should be built into the browser, but I'm just arguing the order of operations rn).

TL;DR you'll either re-invent transparency or end up with huge security holes.

Suppose you have code signing and no transparency. Your site has some way of signaling to the browser to check code signatures under a certain pubkey (or OIDC identity if you're using Sigstore). Suppose now that your site is compromised. What is to prevent an attacker from changing the pubkey and re-signing under the new pubkey. Or just removing the pubkey entirely and signaling no code signing at all?

There are a three answers off the top of my head. Lmk if there's one I missed:

1. Websites enroll into a code signing preload list that the browser periodically pulls. Sites in the list are expected to serve valid signatures with respect to the pubkeys in the preload list.

Problem: how do sites unenroll? They can ask to be removed from the preload list. But in the meantime, their site is unusable. So there needs to be a tombstone value recorded somewhere to show that it's been unenrolled. That place it's recorded needs to be publicly auditable, otherwise an attacker will just make a tombstone value and then remove it.

So we've reinvented transparency.

2. User browsers remember which sites have code signing after first access.

Problem: This TOFU method offers no guarantees to first-time users. Also, it has the same unenrollment problem as above, so you'd still have to reinvent transparency.

3. Users visually inspect the public key every time they visit the site to make sure it is the one they expect.

Problem: This is famously a usability issue in e2ee apps like Signal and WhatsApp. Users have a noticeable error rate when comparing just one line of a safety number [1; Table 5]. To make any security claim, you'd have to argue that users would be motivated to do this check and get it right for the safety numbers for every security-sensitive site they access, over a long period of time. This just doesn't seem plausible

[1] https://arxiv.org/abs/2306.04574

You're right that, when your own server is trustworthy, fully self-hosting removes the need for SRI and integrity manifests. But in the case that your server is compromised, you lose all guarantees.

Transparency adds a mechanism to detect when your server has been compromised. Basically you just run a monitor on your own device occasionally (or use a third party service if you like), and you get an email notif whenever the site's manifest changes.

I agree it's far more work than just not doing transparency. But the guarantees are real and not something you get from any existing technology afaict.

There are middle boxes between the two peers, yes? Routers and such. They observe the encrypted messages. They can brute force the password, even after the session is over.

Even if you assume the PIN is uniformly random (you should not assume this), it is only log2((10+26)^6) ~ 31 bits of entropy. This does not satisfy standard notions of secure channel establishment.

It’s not actually much different. The main reason to use this is because it’s the standardized version of that concept and has been analyzed by people. All the smaller cryptographic detailed like domain separation, proper key derivation, weak key rejection etc. have been worked out for you. So it’s a plug and play solution that previously didn’t exist.

The idea of "appear to be resistant to attack" is an empirical one. When someone says that, they are saying that we simply have not found a good attack against this problem. That can change any day, in principle. Unfortunately, "we don't know of an attack" is about as strong a statement you can make in cryptography, when talking about a fundamental hardness assumption. More verbosely, you'd say "the best known attacks take 2^whatever operations on a computer (classical or quantum), and that's expensive, so we're probably fine unless someone makes a significant leap tomorrow"

Do you have a source on it being a net carbon sink? I'm skeptical bc there's a lot more effort to make and distribute paper bags than cutting down a tree

Why viXra? 3 years ago

FWIW this seems to work in some fields. The standard preprint site for all cryptography is eprint.iacr.org, which has no requirement for institutional affiliation. And even so, I find the signal to noise ratio to be very high. Maybe it's the fact that it's niche, but idk