Consider using JSON Web Proofs (once standardized)

Issue #1254 on hold
Jeremie Miller created an issue

There is work being done to support selective disclosure and un-linkable presentations using a container format that closely follows the JOSE primitives.

The initial proposal is called JSON Web Proof (JWP) and is planned to be initially incubated in the new DIF Applied Cryptography Working Group as an Internet Draft, and from there taken to the IETF for standardization discussions.

Once standardized, JWPs are intended to be usable in OpenID Connect protocol flows nearly identically to JWTs while also supporting SIOP privacy use-case requirements by enabling selective disclosure and the use of zero-knowledge proofs instead of traditional correlatable signatures.

Comments (8)

  1. Torsten Lodderstedt

    Thanks for sharing this draft. I‘ve got a couple of questions:

    • What object is issued by a credential provider? Is it the JWP? If so, could you please provide a complete example?
    • Is the JWP and every chunk of payload signed by the issuer?
    • is every payload supposed to be an individual JWT with an issuer claim?
    • what claim is used to resent a cryptographic holder binding?
    • Does a JWP have a type? I‘m asking since a verifier will typically ask for a certain credential type (which in turn represents a certain set of claims)

    thanks.

  2. Jeremie Miller reporter

    Thanks Torsten, I’ll do my best to comment here while we wait for the DIF Crypto WG to become active.

    What object is issued by a credential provider? Is it the JWP? If so, could you please provide a complete example?

    Yes, a JWP would be issued by a credential provider or issuing authority. We’re working on transitioning the hackmd to a more proper git-hosed internet draft and will definitely be improving the examples.

    Is the JWP and every chunk of payload signed by the issuer?

    The header and payload chunks are given to the crypto algorithm individually so that it can operate on them as individual messages in order to support a later selective disclosure step.

    is every payload supposed to be an individual JWT with an issuer claim?

    what claim is used to resent a cryptographic holder binding?

    JWPs are analogous to JWSes, they are just the container format and not defining claims. There will need to be work done to define a JWT that uses JWPs instead of JWSes.

    Does a JWP have a type? I‘m asking since a verifier will typically ask for a certain credential type (which in turn represents a certain set of claims)

    If successful eventually taking this through the IETF I’d expect it to be under the application/jose content type. Any other typing information I expect will be part of the work to map JWTs atop a JWP container.

  3. Log in to comment