2 ms·
I only made the comparison with NaCl because the OP did (and used the wrong primitive) and brought up Forward Secrecy as a major flaw in JWT. OP also mentioned
by unscaled 9y ago
I only made the comparison with NaCl because the OP did (and used the wrong primitive) and brought up Forward Secrecy as a major flaw in JWT.
OP also mentioned JWT libraries ignoring embedded X.509 certificates as a problem if we're at it.
But you need alternatives.
NaCl is not alternative, because you need to base a protocol on top of that. Noise is not an alternative because it's not meant for the same purposes. Fernet is the only thing close to be an alternative, but it lacks useful features (for instance, how do you specify a key ID for key rotation), supports only symmetric encryption, has a weird cipher choice, and barely gets any library support.
- tptacek 9y agoIn fact I do not need alternatives to the JWT standard. Part of my argument is that what JWT is trying to do --- providing one overarching standard for every conceivable token authentication use case --- is simply a bad idea. Regardless, bad engineering is bad engineering. Bad security engineering gets people hurt. It's not that JWT doesn't do the best job it could do: it's that it's a snakepit of implementation traps that create vulnerabilities. For me, the argument ends there.