Apple Reference Image: A New Approach for Verified Photography
Thread
Unofficial Hacker News client; not affiliated with Y Combinator.
Apple Reference Image: A New Approach for Verified Photography
Unofficial Hacker News client; not affiliated with Y Combinator.
tgsovlerkhgsel · · focus · HN ↗
There are already plenty of insurances that require you to submit claims through a smartphone app that tries to essentially do this by capturing sensor metadata etc. - those don't need to be nation-state resilient, just Joe the Crackhead Insurance Scammer resilient, so this works. Likewise, more and more things online require identity verification (either officially or disguised as age verification).
Edit: And while "a nation state actor can spoof this" is a problem for the journalism use case, the insurance/ID verification use cases are perfectly fine with anything that raises the bar but could be bypassed with enough effort. Also, the journalism use case suffers from the same fundamental issue all of these use cases suffer from: People will "verify" the picture by looking at the repost of a screenshot of the verification UI, not by verifying the original themselves.
alwillis · · focus · HN ↗
You have it all wrong.
Apple Reference Image is not an id system; it's primarily a way to attest that the pixels recorded by the camera sensor have not been altered in any way; the pixels, metadata and timestamp are all cryptographically signed.
There's no way to link a reference image to a person; it's also not possible to determine if a pair of images came from the same device.
> And while "a nation state actor can spoof this" is a problem for the journalism use case
This is incorrect:
So… a nation-state can't really do anything here unless they acquire alien technology. If something crazy happens (solar flare or EMP?), a fraudulent reference image can be revoked.> Also, the journalism use case suffers from the same fundamental issue all of these use cases suffer from: People will "verify" the picture by looking at the repost of a screenshot of the verification UI, not by verifying the original themselves.
I would imagine there will be a way to confirm an Apple Reference Image on the web. Pretty soon, 3rd parties will be able to verify the image themselves:
Retr0id · · focus · HN ↗
setopt · · focus · HN ↗
Yup, you don’t even need nukes: <a href="https://en.wikipedia.org/wiki/Explosively_pumped_flux_compression_generator" rel="nofollow">https://en.wikipedia.org/wiki/Explosively_pumped_flux_compre...
Retr0id · · focus · HN ↗
iugtmkbdfil834 · · focus · HN ↗
I think you have a point. I would only note that just because it is not explicitly designed as one, does not mean it will not be effectively utilized in that manner.
mitxela · · focus · HN ↗
throw0101c · · focus · HN ↗
Unless you use a friend's iPhone, or an iPhone you 'rented' for 5 minutes for $20 from someone on Craigslist or Facebook Marketplace to take a picture on and then Airdrop to you.
mitxela · · focus · HN ↗
autoexec · · focus · HN ↗
propaganja · · focus · HN ↗
tmp10423288442 · · focus · HN ↗
lxgr · · focus · HN ↗
Or you could just email/WhatsApp/... it.
throw0101c · · focus · HN ↗
Perhaps do not be so literal: Airdrop, SMS/MMS/RCS, WhatsApp, Signal, etc:
* <a href="https://github.com/localsend/localsend" rel="nofollow">https://github.com/localsend/localsend
autoexec · · focus · HN ↗
alwillis · · focus · HN ↗
microtonal · · focus · HN ↗
It is for Apple, to the extend that if there are backdoors and weaknesses in their PCC, they could register a device signing identity to Apple signature mapping.
I think the line of reasoning is that you have to trust Apple anyway, since they could also roll out a malicious image to your particular phone, but I still feel like PCC is much harder to verify/audit than an iPhone already is.
layer8 · · focus · HN ↗
It’s possible for Apple, as stated in the blog post (e.g. “which lets the device later produce signatures that Apple can attribute to that specific phone”).
sandy_ilands · · focus · HN ↗
[dead]
meindnoch · · focus · HN ↗
[dead]
RobotToaster · · focus · HN ↗
At least for the image itself, using direct projection onto the sensor (in a way similar to a retinal projector or film recorder) would be difficult to detect I imagine?
wildzzz · · focus · HN ↗
But at the end of the day, even if you manage to get a fake reference image, it's still on the person making the claim to show that the content of the image is real. A reference image of a document is useless, the physical document could be a forgery. A photo of people could be refuted with alibis during the timestamp window (max 15 minutes it sounds like?). A photo of property damage doesn't prove how or when it happened.
coldtea · · focus · HN ↗
Apple knows the iphone the reference image was uploaded from, so, yes, there is.
jclardy · · focus · HN ↗
It is probably possible for an entity to break it, but it would require live access to both Apple and the third party (Likely Cloudflare) servers. And that is assuming there is only one third party routing OHTTP requests, otherwise you would need to monitor all of them, in real time, since the requests are transient.
cobbzilla · · focus · HN ↗
> The final reference image is instead signed by Apple’s signing service, after validation by PCC.
So, if compelled, Apple could theoretically tell someone if two images came from the same camera.
lxgr · · focus · HN ↗
[1] <a href="https://en.wikipedia.org/wiki/Direct_Anonymous_Attestation" rel="nofollow">https://en.wikipedia.org/wiki/Direct_Anonymous_Attestation
colejohnson66 · · focus · HN ↗
cobbzilla · · focus · HN ↗
it’s one step removed from identity.
fwiw i think this is an unambiguous improvement over current post-sensor attestations, it’s just good to explore the edges
alwillis · · focus · HN ↗
No they couldn't.
If you generate two SSH key pairs on your laptop, there's no way to confirm they were created on the same machine.
There's no device identifying data in a reference image, which is the point. The factory signature, the image sensor key, the Secure Enclave Processor key and all of the signing that takes place on PCC are all device-agnostic.
The reference image is processed and eventually signed by Private Cloud Compute's post-quantum signature using a hybrid MLDSA87-RSA-3072-PSS-SHA512 scheme.
So… it's not possible for Apple to know if two images came from the same iPhone.
cobbzilla · · focus · HN ↗
microtonal · · focus · HN ↗
When the user initiates developing a reference image, the device uploads the secure digital negative to Private Cloud Compute. PCC recomputes the digest embedded in the frame and verifies the sensor's signature over the pixels and that digest, verifying the certificate chain back to the sensor CA. PCC also verifies the SEP signature and chains it to the BAA CA, and it verifies the signature on the device manifest and chains it to the CA that signs device manifests at the factory. It then confirms that the sensor and SEP named in those chains belong to the same device. [...] If these checks pass, PCC then submits the commitment to our signing service, which signs it with a composite post-quantum signature using a hybrid MLDSA87-RSA-3072-PSS-SHA512 scheme. The signature is embedded in the JPEG, and the reference image is returned to the device, which associates it with the main photo from the original capture.
After the secure digital negative is successfully developed, it's automatically moved to the deleted photos folder."
So in the end it all depends on how much you trust Apple's cloud and PCC nodes. If there is a weakness in their services, Apple could record both the original signatures and their signature, and could prove whether two photos were made using the same lens/device and they could even trace it back to a specific device (by looking up the original signature + signing identity given their signature).
monocasa · · focus · HN ↗
They can then sign their own fraudulent images.
autoexec · · focus · HN ↗
propaganja · · focus · HN ↗
We already know it's happening right now, and they know we know, but we can't do shit about it.
alwillis · · focus · HN ↗
I'm aware. The point is they can't give the NSA something they don't have. The photo sensor generates its own ECDSA P-256 signing key pair and never releases the private half.
Every device has a unique key pair and the private key is unavailable… there's not a way to give the NSA that would help them. The system is setup so that the image data, meta data, etc can't be accessed by anyone including Apple.
microtonal · · focus · HN ↗
(Similar to how many PGP hardware keys allow generating a private key on-device or writing your own provided key.)
alwillis · · focus · HN ↗
microtonal · · focus · HN ↗
- verifies each link and its certificate chain, sensor signature over pixels, SEP signature, device manifest signature
- PCC Submits the commitment (the JPEG hash) to Apple's signing service.
So, at some point in time, Apple's servers have both the original certificate chain and the new replacement signature. If this is recorded, Apple can deanonimize photos and check whether two photos were from the same device/sensor.
Apple's system protects against most state actors, except Apple and the US, unless you fully trust that their PCC is watertight.
(Remember that Apple was part of PRISM and probably also its successor.)
I don't think law enforcement needs it, because when sending/posting a picture, people leak so much metadata anyway.
But people outside the US should certainly distrust these systems.
alwillis · · focus · HN ↗
Again, that's not how it works.
There's no set of keys and certificates they could give to the NSA. Every iPhone 18 Pro and Pro Max has a unique set of cryptographic keys, most of which can't be accessed by Apple.
The first thing that happens is when photo sensor is initialized at the factory, it creates its own ECDSA P-256 signing key pair; the private key is never disclosed. The public key is signed by the factory's certificate authority.
This ain't X.509 where VeriSign's key pair is sitting in a HSM at their HQ and in theory could be forced to sign a fraudulent certificate or revoke someone's valid website certificate.
microtonal · · focus · HN ↗
Also, while the unique device ID is supposed to be burned into fuses by the SE during production, it is kinda hard to prove for anyone that is not Apple that this indeed happens in the way they state.
Personally I’m not a strong believer in such theories though. I think it’s more mundane and Apple helps law enforcement by having some weak defaults. Like how iMessage is end-to-end encrypted, but most chats are available to law enforcement because most people turn on iCloud Backups/Messages in iCloud and not ADP, resulting in chats only being encrypted at-rest in iCloud. This is only stated somewhere in a footnote in one of their security documents.
There are more weak defaults like that in various crucial apps (e.g. WhatsApp) that makes most important stuff available to law enforcement when needed.
alwillis · · focus · HN ↗
That's not how this works.
Let's pretend they're able to extract the sensor key and the SEP key. Then what?
An attacker won't have the ECDSA P-256 over SHA-256 signed timestamp token from the Apple Push Notification Service.
When Reference mode starts, the operating system supplies a SHA-256 digest to be embedded at a fixed location in the captured frame’s metadata. The digest is computed from the most recent secure timestamp, the device manifest, and the device's secure boot manifest.
More encryption and checking happens until the secure digital negative is sent to Private Cloud Compute:
Only PCC can create an Apple Reference Image; an attacker having the image and sensor private keys doesn't enable them to create a reference image.monocasa · · focus · HN ↗
Sure they can, they have everything needed to prove to Apple's servers that they're a real iPhone since pulling the keys means they have the cryptographic root of trust, and Apple's servers will happily be a signature oracle for them in that case.
> When Reference mode starts, the operating system supplies a SHA-256 digest to be embedded at a fixed location in the captured frame’s metadata. The digest is computed from the most recent secure timestamp, the device manifest, and the device's secure boot manifest.
And when you know what is measured into those manifests and the keys at the root of trust you can manufacture those too.
The entire scheme is dependent on not being able to extract device specific keys. At the end of the day, those are almost certainly efuses burnt based on a on-chip HRNG as a manufacturing step which is intended to never leave the device, but instead only signatures and associated public keys.
But when you have chip development hardware of the kind you'd have at a decent fabless semiconductor company, you can very clearly see burnt efuses.
alwillis · · focus · HN ↗
[1]: "How pixels become an Apple Reference Image" - <a href="https://news.ycombinator.com/item?id=49735284">https://news.ycombinator.com/item?id=49735284
monocasa · · focus · HN ↗
walrus01 · · focus · HN ↗
You think that this won't be used as additional data by the various competing companies who have implemented "take a live still or video selfie of yourself with your phone and show us your ID cards" for identity verification purposes?
JW_00000 · · focus · HN ↗
> There's no way to link a reference image to a person; it's also not possible to determine if a pair of images came from the same device.
Some banking apps nowadays ask you to upload a photo of your ID and then use the webcam/selfie camera to confirm that's it's really you (sometimes asking you to move your head in a particular way). But how trustworthy is that process really? Apple Reference Image could be (part of) a solution, by certifying that both images were taken by the same device around the same time.
CrazyStat · · focus · HN ↗
This is explicitly not possible, as the post you were replying to pointed out.
[deleted] · · focus · HN ↗
[deleted]
tencentshill · · focus · HN ↗
PunchyHamster · · focus · HN ↗
> There's no way to link a reference image to a person; it's also not possible to determine if a pair of images came from the same device.
How would they do that ? There is only one signed key of the device
startup_zombie_ · · focus · HN ↗
[dead]
appletrotter · · focus · HN ↗
cvoss · · focus · HN ↗
> Apple Reference Image is not an id system
GP does not have it all wrong. A company desiring you to prove your identity often asks for a photograph of your government ID. Now that this is easily faked, it is reasonable to expect that the company will ask for a verifiably authentic photograph of your government ID.
That the Apple Reference Image itself is not traceable to the device/user is beside the point in this use case.
slester · · focus · HN ↗
JumpCrisscross · · focus · HN ↗
Interfacing with images is easy. Interfacing with NFC takes work. I have experienced precisely zero identity-verification workflows which NFC'd anything, and that includes my banks, which could easily ask for my debit card's NFC but don't.
inquirerGeneral · · focus · HN ↗
[dead]
lxgr · · focus · HN ↗
fweimer · · focus · HN ↗
I think processing that information is mandatory now, but probably was optional/largely unimplemented in 2012. But maybe I'm off by five years or so?
lxgr · · focus · HN ↗
The CA public key I just got off my country’s website, they were kind enough to just publish it :)
crote · · focus · HN ↗
If anything, verifying NFC is easier than images. Asking the chip in my identity card to provide a cryptographically-signed "This document belongs to Jane Doe" request is a handful of lines of code. Doing the same with images? Good luck coming up with an approach which isn't fooled by a photocopy!
JumpCrisscross · · focus · HN ↗
microtonal · · focus · HN ↗
Our national app for logging into government sites and confirming things also requires a step where the ID’s NFC is read to reach the highest trust level.
So it’s definitely becoming more and more common here.
tmp10423288442 · · focus · HN ↗
happyopossum · · focus · HN ↗
lxgr · · focus · HN ↗
The phone is just a relay to a remote server here, as newer ICAO machine readable travel documents intentionally don't support signatures/non-repudiation anymore, so you have to run the entire exchange against a component you trust (i.e. your server, not so much your app on a rooted/manipulated phone).
rickdeckard · · focus · HN ↗
If someone took a picture of a fake ID in the past, this method will bring no benefit, it will just add Apple as a paid service-provider.
It also doesn't change the trust-relationship between the two parties: If I need to prove my identity by uploading a government ID, _I_ am doing the photo attestation that this is the ID matching the data I provided, with or without an Apple Reference image.
alwillis · · focus · HN ↗
The image will be authentic, but an authentic image of a fake id isn't useful to them.
Also--only two iPhone models support this technology. It'll be years before the DMV or whoever could count on enough adoption before they could support it.
vablings · · focus · HN ↗
lxgr · · focus · HN ↗
> a nation-state can't really do anything here unless they acquire alien technology.
Alien technology such as NSLs or supply chain attacks against Apple?
solarkraft · · focus · HN ↗
illiac786 · · focus · HN ↗