this post was submitted on 11 Feb 2024
639 points (97.9% liked)

Technology

59429 readers
3110 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

The White House wants to 'cryptographically verify' videos of Joe Biden so viewers don't mistake them for AI deepfakes::Biden's AI advisor Ben Buchanan said a method of clearly verifying White House releases is "in the works."

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 17 points 9 months ago (8 children)

Would someone have a high level overview or ELI5 of what this would look like, especially for the average user. Would we need special apps to verify it? How would it work for stuff posted to social media

linking an article is also ok :)

[–] [email protected] 2 points 9 months ago

It needs some kind of handler, but we mostly have those in place. A web browser could be the handler for instance. A web browser has the green dot on the upper left, telling you a page is secure, that https is on and valid. This could work like that, the browser can verify the video and display a green or red dot in the corner, the user could just mouse over it/tap on it to see who it's verified to be from. But it's up to the user to mouse over it and check if it says whitehouse.gov or dr-evil-mwahahaha.biz

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

TL;DR: one day the user will see an overlay or notification that shows an image/movie is verified as from a known source. No extra software required.

Honestly, I can see this working great in future web browsers. Much like the padlock in the URL bar, we could see something on images that are verified. The image could display a padlock in the lower-left corner or something, along with the name of the source, demonstrating that it's a securely verified asset. "Normal" images would be unaffected. The big problem is how to put something on the page that cannot be faked by other means.

It's a little more complicated for software like phone apps for X or Facebook, but doable. The problem is that those products must choose to add this feature. Hopefully, losing reputation to being swamped with unverifiable media will be motivation enough to do so.

The underlying verification process is complex, but should be similar to existing technology (e.g. GPG). The key is that images and movies typically contain a "scratch pad" area in the file for miscellaneous stuff (metadata). This is where the image's author can add a cryptographic signature for the file itself. The user would never even know it's there.

[–] [email protected] 3 points 9 months ago (1 children)

Adobe is actually one of the leading actors in this field, take a look at the Content Authenticity Initiative (https://contentauthenticity.org/)

Like the other person said, it’s based on cryptographic hashing and signing. Basically the standard would embed metadata into the image.

[–] [email protected] 5 points 9 months ago* (last edited 9 months ago) (1 children)

For the average end-user, it would look like "https". You would not have to know anything about the technical background. Your browser or other media player would display a little icon showing that the media is verified by some trusted institution and you could learn more with a click.

In practice, I see some challenges. You could already go to the source via https, EG whitehouse.gov, and verify it that way. An additional benefit exists only if you can verify media that have been re-uploaded elsewhere. Now the user needs to check that the media was not just signed by someone (EG whitehouse.gov. ru), but if it was really signed by the right institution.

[–] [email protected] 3 points 9 months ago (2 children)

As someone points out above, this just gives them the power to not authenticate real videos that make them look bad...

[–] [email protected] 2 points 9 months ago

I honestly feel strategies like this should be mitigated by technically savvy journalism, or even citizen journalism. 3rd parties can sign and redistribute media in the public domain, vouching for their origin. While that doesn't cover all the unsigned copies in existence, it provides a foothold for more sophisticated verification mechanisms like a "tineye" style search for media origin.

[–] [email protected] 2 points 9 months ago

Videos by third parties, like Trump's pussy grabber clip, would obviously have to be signed by them. After having thought about it, I believe this is a non-starter.

It just won't be as good as https. Such a signing scheme only makes sense if the media is shared away from the original website. That means you can't just take a quick look at the address bar to make sure you are not getting phished. That doesn't work if it could be any news agency. You have to make sure that the signer is really a trusted agency and not some scammy lookalike. That takes too much care for casual use, which defeats the purpose.

Also, news agencies don't have much of an incentive to allow sharing their media. Any cryptographic signature would only make sense for them if directs users to their site, where they can make money. Maybe the potential for more clicks - basically a kind of clickable watermark on media - could make this take off.

[–] [email protected] 1 points 9 months ago

Probably you'd notice a bit of extra time posting for the signature to be added, but that's about it, the responsibility for verifying the signature would fall to the owners of the social media site and in the circumstances where someone asks for a verification, basically imagine it as a libel case on fast forward, you file a claim saying "I never said that", they check signatures, they shrug and press the delete button and erase the post, crossposts, and if it's really good screencap posts and those crossposts of the thing you did not say but is still being attributed falsely to your account or person.

It basically gives absolute control of a person's own image and voice to themself, unless a piece of media is provable to have been made with that person's consent, or by that person themself, it can be wiped from the internet no trouble.

Where it comes to second party posters, news agencies and such, it'd be more complicated but more or less the same, with the added step that a news agency may be required to provide some supporting evidence that what they said is not some kind of misrepresentation or such as the offended party filing the takedown might be trying to insist for the sake of their public image.

Of course there could still be a YouTube "Stats for Nerds"-esque addin to the options tab on a given post that allows you to sign-check it against the account it's attributing something to, and a verified account system could be developed that adds a layer of signing that specifically identifies a published account, like say for prominent news reporters/politicians/cultural leaders/celebrities, that get into their own feed so you can look at them or not depending on how ya be feelin' that particular scroll session.

[–] [email protected] 12 points 9 months ago (3 children)

The best way this could be handled is a green check mark near the video that you could click on it and it would give you all the meta data of the video (location, time, source, etc) with a digital signature (what would look like a random string of text) that you could click on and your browser would show you the chain of trust, where the signature came from, that it's valid, probably the manufacturer of the equipment it was recorded on, etc.

[–] [email protected] 2 points 9 months ago (1 children)

Do not show a checkmark by default! This is why cryptographers kept telling browsers to de-emphasize the lock icon on TLS (HTTPS) websites. You want to display the claimed author and if you're able to verify keypair authenticity too or not.

[–] [email protected] 1 points 9 months ago (1 children)

Fair point, I agree with this. There should probably be another icon in the browser that shows if all, some, or none of the media on a page has signatures that can be validated. Though that gets messy as well, because what is "media"? Things can be displayed in a web canvas or SVG that appears to be a regular image, when in reality it's rendered on the fly.

Security and cryptography UX is hard. Good point, thanks for bringing that up! Btw, this is kind of my field.

[–] [email protected] 1 points 9 months ago (1 children)

I run /r/crypto at reddit (not so active these days due to needing to keep it locked because of spam bots, but it's not dead yet), usability issues like this are way too common

[–] [email protected] 1 points 9 months ago

I ran /r/cryptotechnology for years, and am good friends with the /r/cc mods. Reddit is a mess though, especially in the crypto areas.

[–] [email protected] 4 points 9 months ago (2 children)

The issue is making that green check mark hard to fake for bad actors. Https works because it is verified by the browser itself, outside the display area of the page. Unless all sites begin relying on a media player packed into the browser itself, if the verification even appears to be part of the webpage, it could be faked.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago) (1 children)

The only thing that comes to mind is something that forces interactivity outside the browser display area; out of the reach of Javascript and CSS. Something that would work for both mobile and desktop would be a toolbar icon that is a target for drag-and-drop. Drag the movie or image to the "verify this" target, and you get a dialogue or notification outside the display area. As a bonus, it can double for verifying TLS on hyperlinks while we're at it.

Edit: a toolbar icon that's draggable to the image/movie/link should also work the same. Probably easier for mobile users too.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago) (1 children)

If you set the download manager icon in the browser as permanently visible, then dragging it there could trigger the verification to also run if the metadata is detected, and to then also show whichever metadata it could verify.

[–] [email protected] 1 points 9 months ago

That's a tad obscure, but makes it much easier to code up a prototype. I like it.

[–] [email protected] 4 points 9 months ago

Hope verification gets built in to operating systems as compromised applications present a risk too.

But I’m sure a crook would build a MAGA Verifier since you can’t trust liberal Apple/Microsoft technology.

[–] [email protected] 7 points 9 months ago (1 children)

Just make sure the check mark is outside the video.

[–] [email protected] 3 points 9 months ago

Browser controlled modal.

[–] [email protected] 23 points 9 months ago* (last edited 9 months ago) (2 children)

Depending on the implementation, there are two cryptographic functions that might be used (perhaps in conjunction):

  • Cryptographic hash: An arbitrary amount of data (like a video file) is used to create a “hash”—a shorter, (effectively) unique text string. Anyone can run the file through the same function to see if it produces the same hash; if even a single bit of the file is changed, the hash will be completely different and you’ll know the data was altered.

  • Public key cryptography: A pair of keys are created, one of which can only encrypt data (but can’t decrypt its own output), and the other, “public” key can only decrypt data that was encrypted by the first key. Users (like the White House) can post their public key on their website; then if a subsequent message purporting to come from that user can be decrypted using their public key, it proves it came from them.

[–] [email protected] 2 points 9 months ago

Public key cryptography would involve signatures, not encryption, here.

[–] [email protected] 9 points 9 months ago (2 children)

a shorter, (effectively) unique text string

A note on this. There are other videos that will hash to the same value as a legitimate video. Finding one that is coherent is extraordinarily difficult. Maybe a state actor could do it?

But for practical purposes, it'll do the job. Hell, if a doctored video with the same hash comes out, the White House could just say no, we punished this one, and that alone would be remarkable.

[–] [email protected] 8 points 9 months ago* (last edited 9 months ago) (2 children)

Finding one that is coherent is extraordinarily difficult.

You’d need to find one that was not just coherent, but that looked convincing and differed in a way that was useful to you—and that likely wouldn’t be guaranteed, even theoretically.

[–] [email protected] 0 points 9 months ago (1 children)

Even for a 4096 bit hash (which isn't used afaik, usually only 1024 bit is used (but this could be outdated)), you only need to change 4096 bits on average. Even for a still 1080p image, that's 1920x1080 pixels. If you change the least significant bit of each color channel, you get 6,220,800 bits you can change within anyone noticing. That means on average there are 1,518 identical-looking variations of any image with a given 4096 bit hash, on average. This goes down a lot when you factor in compression: those least significant bits aren't going to stay the same. But using a video brings it up by orders of magnitude: rather than one image, you can tweak colors in every frame The difficulty doesn't come from the existence, it comes because you need to check 2⁵¹² = 10¹⁵⁴ different images to guarantee you'll find a match. Hash functions are designed to take a while to compute, so you'd have to run a supercomputer for an extremely long time to brute force a hash collision

[–] [email protected] 1 points 9 months ago (1 children)

Most hash functions are 256 bit (they're symmetric functions, they don't need more in most cases).

There are arbitrary length functions (called XOF instead of hash) which built similarly (used when you need to generate longer random looking outputs).

Other than that, yeah, math shows you don't need to change more data in the file than the length of the hash function internal state or output length (whichever is less) to create a collision. The reason they're still secure is because it's still extremely difficult to reverse the function or bruteforce 2^256 possible inputs.

[–] [email protected] 1 points 9 months ago

Yeah I was using a high length at first because even if you overestimate, that's still a lot. I did 512 for the second because I don't know a ton about cryptography but that's the largest SHA output

[–] [email protected] 2 points 9 months ago

Pigeon hole principle says it does for any file substantially longer than the hash value length, but it's going to be hard to find

[–] [email protected] 3 points 9 months ago (1 children)

There are other videos that will hash to the same value

This concept is known as ‘collision’ in cryptography. While technically true for weaker key sizes, there are entire fields of mathematics dedicated to probably ensuring collisions are cosmically unlikely. MD5 and SHA-1 have a small enough key space for collisions to be intentionally generated in a reasonable timeframe, which is why they have been deprecated for several years.

To my knowledge, SHA-2 with sufficiently large key size (2048) is still okay within the scope of modern computing, but beyond that, you’ll want to use Dilithium or Kyber CRYSTALS for quantum resistance.

[–] [email protected] 3 points 9 months ago (1 children)

SHA family and MD5 do not have keys. SHA1 and MD5 are insecure due to structural weaknesses in the algorithm.

Also, 2048 bits apply to RSA asymmetric keypairs, but SHA1 is 160 bits with similarly sized internal state and SHA256 is as the name says 256 bits.

ECC is a public key algorithm which can have 256 bit keys.

Dilithium is indeed a post quantum digital signature algorithm, which would replace ECC and RSA. But you'd use it WITH a SHA256 hash (or SHA3).

[–] [email protected] 1 points 9 months ago

Good catch, and appreciate the additional info!

[–] [email protected] 6 points 9 months ago* (last edited 9 months ago) (1 children)

it would potentially be associated with a law that states that you must not misrepresent a “verified” UI element like a check mark etc, and whilst they could technically add a verified mark wherever they like, the law would prevent that - at least for US companies

it may work in the same way as hardware certifications - i believe that HDMI has a certification standard that cables and devices must be manufactured to certain specifications to bear the HDMI logo, and the HDMI logo is trademarked so using it without permission is illegal… it doesn’t stop cheap knock offs, but it means if you buy things in stores in most US-aligned countries that bear the HDMI mark, they’re going to work

[–] [email protected] 8 points 9 months ago* (last edited 9 months ago) (2 children)

There’s already some kind of legal structure for what you’re talking about: trademark. It’s called “I’m Joe Biden and I approve this message.”

If you’re talking about HDCP you can break that with an HDMI splitter so IDK.

[–] [email protected] 4 points 9 months ago* (last edited 9 months ago) (2 children)

TLDR: trademark law yes, combined with a cryptographic signature in the video metadata… if a platform sees and verifies the signature, they are required to put the verified logo prominently around the video

i’m not talking about HDCP no. i’m talking about the certification process for HDMI, USB, etc

(random site that i know nothing about): https://www.pacroban.com/en-au/blogs/news/hdmi-certifications-what-they-mean-and-why-they-matter

you’re right; that’s trademark law. basically you’re only allowed to put the HDMI logo on products that are certified as HDMI compatible, which has specifications on the manufacturing quality of cables etc

in this case, you’d only be able to put the verified logo next to videos that are cryptographically signed in the metadata as originating from the whitehouse (or probably better, some federal election authority who signs any campaign videos as certified/legitimate: in australia we have the AEC - australian electoral commission - a federal body that runs our federal elections and investigations election issues, etc)

now this of course wouldn’t work for sites outside of US control, but it would at least slow the flow of deepfakes on facebook, instagram, tiktok, the platform formerly known as twitter… assuming they implemented it, and assuming the govt enforced it

[–] [email protected] 1 points 9 months ago (1 children)

Once an original video is cryptographically signed, could future uploads be automatically verified based on pixels plus audio? Could allow for commentary to clip the original.

Might need some kind of minimum length restriction to prevent deceptive editing which simply (but carefully) scrambles original footage.

[–] [email protected] 3 points 9 months ago

not really… signing is only possible on exact copies (like byte exact; not even “the same image” but the same image, formatted the same, without being resized, etc)… there are things called perceptual hashes, and ways of checking if images are similar, but cryptography wouldn’t really help there

[–] [email protected] 8 points 9 months ago (2 children)

Relying on trademark law to combat deepfake disinformation campaigns has the same energy as "Murder is already illegal, we don't need gun control."

[–] [email protected] 2 points 9 months ago

kinda… trademark law and copyright is pretty tightly controlled on the big social media platforms, and really that’s the target here

[–] [email protected] 6 points 9 months ago