6 ms·
The method Apple is using looks more like a cryptographic hash. That's entirely different (and more secure) than a perceptual hash. From https://www.apple.com
by starkd 5y ago
The method Apple is using looks more like a cryptographic hash. That's entirely different (and more secure) than a perceptual hash.
From https://www.apple.com/child-safety/ https://www.apple.com/child-safety/
"Before an image is stored in iCloud Photos, an on-device matching process is performed for that image against the known CSAM hashes. This matching process is powered by a cryptographic technology called private set intersection, which determines if there is a match without revealing the result. The device creates a cryptographic safety voucher that encodes the match result along with additional encrypted data about the image. This voucher is uploaded to iCloud Photos along with the image."
Elsewhere, it does explain the use of neuralhashes which I take to be the perceptual hash part of it.
I did some work on a similar attempt awhile back. I also have a way to store hashes and find similar images. Here's
my blog post. I'm currently working on a full site.
http://starkdg.github.io/posts/concise-image-descriptor http://starkdg.github.io/posts/concise-image-descriptor
- dogma1138 5y agoThe cryptography is most likely done at a higher level than the perception comparison and is quite likely done to protect the CSAM hashes than your privacy. My interpretation of this is that they still use some sort of a perception based matching algorithm they just encrypt the hashes and then use some “zero knowledge proof” when comparing the locally generated hashes against the list, the result of which would be just that X hashes marched but not which X. This way there would be no way to reverse engineer the CSAM hash list or bypass the process by altering key regions of the image.
- visarga 5y ago> the result of which would be just that X hashes marched but not which X That means you can't prove an incriminating file was not deleted even if you're the victim of a false positive. So they will suspect you and put you through the whole police investigation routine.
- dogma1138 5y agoNot necessarily it just means that you don’t know/prove until a certain threshold is reached, in guessing above a specific one that hashes and the photo is then uploaded to Apple for verification and preservation.
- cvwright 5y agoThe crypto here is for the private set intersection, not the hash. So your device has a list of perceptual (non-cryptographic) hashes of its images. Apple has a list of the hashes of known bad images. The protocol lets them learn which of your hashes are in the “bad” set, without you learning any of the other “bad” hashes, and without Apple learning any of the hashes of your other photos.
- bastawhiz 5y agoWell therein lies the problem: perceptual hashes don't produce an exact result. You need to compare something like the hamming distance (as the article mentions) of each hash to decide if it's a match. Is it possible to perform private set intersection where the comparison is inexact? I.e., if you have two cryptographic hashes, private set intersection is well understood. Can you do the same if the hashes are close, but not exactly equal? If the answer is yes, that could mean you would be able to derive the perceptual hashes of the CSAM, since you're able to find values close to the original and test how far you can drift from it before there's no longer a match.
- aix1 5y agoWould love to learn more about actual algorithms that could be used to do something like this (private set intersection with approximate matching) if they exist.
- cvwright 5y agoFrom what I’ve read, part of the magic here is that Apple’s perceptual hash is an exact hash. Meaning, you don’t have to do the Hamming distance thing. Admittedly, I haven’t had a chance to read the original source material yet. It’s possible that the person I heard this from was wrong.
- deleted 5y ago[deleted]