this post was submitted on 14 Mar 2025
463 points (98.5% liked)

Comic Strips

15171 readers
1063 users here now

Comic Strips is a community for those who love comic stories.

The rules are simple:

Web of links

founded 2 years ago
MODERATORS
 

you are viewing a single comment's thread
view the rest of the comments
[–] baggins@lemmy.ca 53 points 2 days ago* (last edited 2 days ago) (4 children)

How would you make an arbitrary QR code have a verifiable signature?

[–] vaguerant@fedia.io 56 points 2 days ago (5 children)

I can see a system where you have to scan the QR code in a specific app for that purpose (e.g. a dedicated QR code payment app which approved businesses sign up to, which either includes or remotely queries a database of valid endpoints). At that point though, where you're requiring a dedicated app anyway, you may as well invent your own 2D code system with blackjack, hookers and signing. But yeah, I don't understand how this would work otherwise. QR codes just aren't made for security. They shouldn't be used anywhere security is required.

[–] umbrella@lemmy.ml 21 points 1 day ago

no, please dont give more leverage for these people to put more invasive apps on my phone

[–] Dave@lemmy.nz 24 points 2 days ago* (last edited 2 days ago) (2 children)

QR codes just aren't made for security. They shouldn't be used anywhere security is required.

I get what you're saying but it's at least a little bit funny that they are regularly used for security in the form of scan to login (e.g. Steam), verify your session (e.g. Matrix), etc. Of course these are in a closed ecosystem so the QR code itself is not the security. But I just found it funny you said that when 90% of my QR code usage is for security.

[–] rockerface@lemm.ee 23 points 2 days ago (1 children)

I mean, generating a one time QR code for login is one thing. It's the equivalent of a one time password. But a permanent QR code is not that. They still aren't inherently secure, but they can be used in situations where showing a code in plain text would be just as secure.

[–] vaguerant@fedia.io 8 points 2 days ago

Yeah, my language was overly broad. You can use QR codes as part of a system where the security is going on elsewhere, but the integrity of the QR code itself isn't something that can be relied on for security.

[–] Fiery@lemmy.dbzer0.com 7 points 2 days ago

I mean it's more like it's used to transfer small amounts of data over a visual medium in those cases. Basically just a shortcut over having to type a whole string of characters manually.

[–] mmddmm@lemm.ee 3 points 2 days ago (1 children)

Well, by using a QR code you don't have to invent your own 2D system, as blackjack and hookers aren't really necessary.

Just make your own URI protocol, and encode any signature in the link. Bonus if you can register your protocol in Android or IOS, but I don't know if this is possible.

[–] Natanael@infosec.pub 2 points 14 hours ago

Apps an indeed register URL schemes with their domain or chosen protocols to open by default on Android.

[–] baggins@lemmy.ca 1 points 2 days ago

This is how our COVID vaccination certificate QR codes worked

[–] ch00f@lemmy.world 1 points 2 days ago

Many QR codes today are designed to be scanned in a general QR app and then launch their specific app. Not sure how the markup works exactly, but I’ve seen it work like that.

[–] Asetru@feddit.org 9 points 2 days ago (1 children)

If you're running a public service, you should have a key that's trusted by a CA anyway. So why couldn't you, especially for qr codes that link to an https site, embed a signature in that qr code that verifies that the person that owns parkyourcar.com's private key also created the code you just scanned? Just like signed pdfs?

[–] themoonisacheese@sh.itjust.works 21 points 2 days ago (1 children)

Okay and what happens when I overwrite that qr code with one that points to downloadvirus.com? How is a client supposed to know that the qr code isn't supposed to be here?

[–] Bilaketari@reddthat.com 0 points 1 day ago (2 children)

Well, because it won't be signed by a trusted CA for that task. Like if CAs had a category of certificate issuance that applied here (the standardisation issue) then it would be easy to spot a fake (which wouldn't be correctly signed). Alternatively, you could take the European approach of having everything government related (like public street parking, though Europe mostly uses apps for that, not signed QR codes) rely on government entities and those in turn on a national set of government CAs.

[–] Aux@feddit.uk 2 points 1 day ago (1 children)

That doesn't make any sense. How would you know if something should or should not be signed? You wouldn't.

[–] Bilaketari@reddthat.com 1 points 20 hours ago (1 children)

If it becomes standard for public parking to be signed, everyone would know. If payment QR codes in general start being signed, your payment app might even know. Lastly there could even be signage by the code to help novices.

[–] Aux@feddit.uk 1 points 20 hours ago (1 children)

The point of a code is to not have an app in the first place. Thus there's no way to validate it.

[–] Bilaketari@reddthat.com 1 points 19 hours ago

It wouldn't need a separate app if, for instance, a standard QR payment format way created. If you just want a link to a website to pay, then naturally that would be less secure, but you could always put the URL below the QR code for redundancy (QR would only save time typing then).

[–] themoonisacheese@sh.itjust.works 1 points 1 day ago (1 children)

Very cool. Why would anyone use qr codes then? When you can just write a url and that's free

[–] Bilaketari@reddthat.com 2 points 20 hours ago (1 children)

QR codes are mostly meant to let you get an amount of info (they're mostly text-based) without having to type or enter it manually when you might make mistakes or when the process is just faster for the amount of text involved.

[–] themoonisacheese@sh.itjust.works 2 points 15 hours ago

Yeah, I know. Why would anyone ever use them if creating one required a certificate? If the certificate was so cheap as to not be an obstacle then it wouldn't be a deterrent to malicious replacement of codes either.

[–] 0tan0d@lemmy.world 2 points 2 days ago (1 children)

Just pay a public CA everytime you make one /s

[–] Bilaketari@reddthat.com 2 points 1 day ago

You pay CAs for certificate issuance, not for signing. You could sign all the QR codes in a city with a single CA-issued certificate as long as the standards for it were all accepted.

[–] programmer_belch@lemmy.dbzer0.com -5 points 2 days ago (2 children)

A verifiable signature could be created but the use of public keys lets malicious actors to sign using the same key

[–] Bilaketari@reddthat.com 4 points 1 day ago

This seems to be a gross misunderstanding of public key cryptography. Public keys allow you to verify an existing signature is valid and made by the correct entity, but they absolutely don't allow you to forge a signature: that's actually what they are designed to prevent.

[–] Asetru@feddit.org 13 points 2 days ago

You can't use public keys to sign anything. You need the private one.