-
Notifications
You must be signed in to change notification settings - Fork 15
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
support did-jwt ? #157
Comments
@bblfish wrote
This is not quite correct. did:jwt is our chosen did method name, but it has not been published yet in the did method's repository. We only have a draft in .txt format so far. (The reason we have not published it yet, is that we have not got to grips with the W3C draft spec publishing scripts and how to use them) |
While I hope we can support most DID methods, what's the use case for focusing initially on did-jwt? (Instead of, say, did:key or did:web?) |
I have no idea which of I could not quite work out if there was an encoding for RSA keys. It just need tools with which I can work. An I see Dimitri left me a message on gitter:
|
The deeper problem is to work out why |
right, did:key doesnt support rsa because the rsa key is too big There are no such size contstraints in did:jwt |
Not for did:jwt, because this is meant to be used for self-signing VCs or VPs using JWT. Hence the kid is inside the signature, and thus cannot be changed. |
Have you thought of encoding |
No, because we want to conform to both the JWT and VC standards. Thus we have "kid":"did:jwt:<base 64 encoding of public key params>" Also size is not a problem. Base64 encoding is cpu efficient and the transfer size increase is minimal. |
The current HttpSig spec proposal suggests that
did:key
can be used as akeyId
. There is an open issue whetherdid:key
s refer to just the cryptographic key or more.@David-Chadwick in his response to issue 156 points to the work on did+jwt, which looks like it contains the other parameters needed for HttpSignature. (For some reason it is not called
did:jwt
butdid:ethr
) My guess is that a signature containing the key would then need to also sign the header containing thedid:ethr
. Such a header would look something like this:As I understand "Signing HTTP Messages" always signs the
Signature-Input
header, so that should make it impossible to change thedid:ethr
key.But then I am not sure what the problems with adding the key parameters to the header in Signing Http Messages were, when they write for the previous rsa-256 algorithm (and all other previous ones for that matter)
My guess is that this means that there is a place between the end of the ssl connection and the web server where traffic could be in the open, where such headers could be replaced, the hash sum changed to something easy to forge like SHA1 and a new forged signature placed in its stead.
If this is the right guess - cryptographers seem to secretly believe in security through obscurity, as they rarely state things clearly - then this could still happen with a did-jws URL, I guess. Unless the
did:jwt
URL is itself signed with its own private key? Would that be possible without using SHA if the URL is short enough?Another option would be to consider introducing pure cryptographic signatures say
rsa
on the HttpSig headers, where no use of hashes is made. Would that be possible? Could we suggest that to the IETF working group?The text was updated successfully, but these errors were encountered: