Conversation
ProgramMax
left a comment
There was a problem hiding this comment.
LGTM. Awaiting @lrosenthol 's input.
|
Should the document be repeating C2PA's security claims ("secure, tamper-evident ...") as-is? I've seen others dispute whether the chunk meets its security goals. For instance, this author has been quite vocal against it. |
|
Thanks for the link, those should certainly be added to the Security Considerations. Dropping an entire |
|
This analysis seems fairly worrying; in particular, a bunch of data was removed from a PNG image, other data added, and it still validates as unaltered. |
|
I'll review the PR in sec, but let me comment on those specific blogs... The author of those pages has a long history of "intermixing" implementations with specifications. All of the issues in those blogs were in specific implementations that long been fixed! They also all pre-date the C2PA's new Conformance Program (https://c2pa.org/conformance/) and refer to older versions of our specification. We can certainly point to the security sections of the C2PA specification itself if you wish. |
lrosenthol
left a comment
There was a problem hiding this comment.
Just a few minor editorials
Co-authored-by: Leonard Rosenthol <leonardr@lazerware.com>
Co-authored-by: Leonard Rosenthol <leonardr@lazerware.com>
Co-authored-by: Leonard Rosenthol <leonardr@lazerware.com>
Co-authored-by: Leonard Rosenthol <leonardr@lazerware.com>
|
@lrosenthol I accepted all your suggested changes, thanks for proposing them. We already link to the security section. |
|
@lrosenthol could you re-review please, so this can be merged? |
ProgramMax
left a comment
There was a problem hiding this comment.
Re-review LGTM.
Although, I think we can relax requirements on it?
|
I tested the claim in this blog post from last month that sections of the provided C2PA protected JPEG can be edited without being detected. (I would have liked to poke around with a PNG, but I couldn't find any sample PNGs with v2.2 C2PA metadata.) The photo was produced on a device that passed the conformance program and was assigned assurance level 2. To test, I downloaded the provided lamp image, used a hex editor to modify the EXIF data, and then confirmed with the official checker that the credential was still valid and there's no indication that the file was modified. (The EXIF starts at byte 6, so you just have to open the file and look for ascii strings like "Pixel 10 Pro" or "2025:08:28" right at the start, and change them to whatever you want. I set the dates to January 1st, 1800 and checked with exiftool that the changes had worked.) |
|
@fintelia That isn't a flaw - that is working as designed. As described in that blog post, Google has chosen to NOT sign that EXIF data of the image - therefore, changes to that information do not invalidate the signature or the Content Credential. All as described in and permitted by the spec. Now, we can debate whether Google should be doing that or not - but they are not doing anything wrong. They have followed the spec to the letter, and have received conformance for doing so. |
Yes, I reported that earlier |
This intentionally brief chunk description does three things:
I updated the chunk ordering table to add
caBX, requiring that it be beforeIDAT(CC suggests but does not require before IDAT) and also to disallow multiplecaBX. @lrosenthol are those correct?I have not yet updated the chunk ordering diagrams, pending review of this PR.