Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing Compact Serialization and Presentation Header Handling in BBS Algorithm Example #84

Closed
wants to merge 0 commits into from

Conversation

AlbertoSvg
Copy link
Contributor

Hello Everyone,

I submitted this pull request to address what I believe is an error in the BBS algorithm example in the JPA draft. In the provided presented JWP representation, there is only one "protected" header referring to the issued protected header. However, according to section 6.2.6 of this draft and section 4.2.1 of the JWP draft, there should also be a presentation protected header containing the nonce used for the generation and verification of the proof used to present the JWP to a Verifier.

Additionally, I corrected the encoding of the protected headers during "compact serialization." The header value present in the JSON representation had already undergone the UTF-8 and base64url encoding process. However, in the compact serialization, instead of taking it as it is, the header value was mistakenly enclosed in quotation marks

"eyJpc3MiOiJodHRwczovL2lzc3Vlci5leGFtcGxlIiwiY2xhaW1zIjpbImZhbWlseV9uYW1lIiwiZ2l2ZW5fbmFtZSIsImVtYWlsIiwiYWdlIl0sInR5cCI6IkpQVCIsImFsZyI6IkJCUy1YIn0"

and then base64url encoded again.

As a final step, I modified the "fixtures_bbs-x.js" file to handle the presentation protected header.

@dwaite
Copy link
Collaborator

dwaite commented Oct 21, 2023

Hello Alberto! I updated the BBS section to bring it current with the CFRG draft 3, along with adding infrastructure to generate a key and build examples.

If you would, might you review the current examples and see if they appear correct?

@selfissued
Copy link
Collaborator

@AlbertoSvg , you can see the current editor's draft at https://json-web-proofs.github.io/json-web-proofs/draft-ietf-jose-json-proof-algorithms.html. Please either let us know that this is OK now or update your PR as needed to address the remaining problems.

Note that the submission deadline for IETF 118 is Monday, October 23rd so if you can look at this soon, that would be great.

Thanks for your attention to detail!

@AlbertoSvg
Copy link
Contributor Author

AlbertoSvg commented Oct 21, 2023

@dwaite @selfissued, thank you for the feedback, I'll review the updates and check if everything is okay as soon as possible. Given the upcoming deadline for IETF 118, I understand the urgency and I will try my best.

I would also like to mention that I am concurrently working on a Rust library implementation of these drafts.
If by chance any of you have an interest in knowing more about it, please feel free to reach out.

EDIT:
This pull request has been closed since these changes were not anymore necessary. The updated changes can be found in the new pull request: PR88

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants