Potential Conflict with jti
Claim in JWT-Serialized Verifiable Credentials
#744
Unanswered
thomasrutger
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I have encountered a situation where a JWT-serialized Verifiable Credential (VC) is issued from an Identity Hub, and the
jti
claim is set. This can be seen in the following line from theJwtCredentialGenerator
:IdentityHub/core/issuerservice/issuerservice-issuance/src/main/java/org/eclipse/edc/issuerservice/issuance/generator/JwtCredentialGenerator.java
Line 138 in 393930e
However, when the credential is presented more than once to a control plane instance with the setting
edc.iam.accesstoken.jti.validation=true
(which is the default), it is rejected due to thejti
having already been used. This behavior appears to treat the credential as a one-time-use token.According to the VC-JOSE-COSE spec:
Given this, it seems that setting the
jti
claim for a long-livedvc+jwt
credential may not be appropriate, particularly if the system interpretsjti
as a nonce-like value used for replay protection.My assumption is that this is unintended behavior, and that the
jti
claim should probably not be set on Verifiable Credentials in JWT format, or alternatively, the control plane should not enforcejti
uniqueness validation for vc+jwt credentials.Either that, or this is intended behavior and I am misinterpreting this. Could someone clarify this? Thanks!
Beta Was this translation helpful? Give feedback.
All reactions