| ▲ | hirsin 2 hours ago | ||||||||||||||||
It can't be quite that simple because you have a couple additional problems to solve - (effectively restating bits of the article poorly and partially) 1. You don't want these to be replayable (give your JWT to someone else to use) so they need to be bounded in some ways (eg intended website, time, proof it came from you and not someone else). 2. You don't want the government to know which website you're going to, nor allow the government and the website to collaborate to deanonymize you (or have the government force a website to turn over the list of tokens they got). So the government can't just hand you a uuid that the website could hand back to them to deanonymize. The SD JWT and related specs solve for these, which is how mDL and other digital IDs can preserve privacy in this situation. | |||||||||||||||||
| ▲ | AnthonyMouse 40 minutes ago | parent | next [-] | ||||||||||||||||
> You don't want these to be replayable (give your JWT to someone else to use) so they need to be bounded in some ways (eg intended website, time, proof it came from you and not someone else). But these are the things that make it non-anonymous, because then instead of one token that says "is over 18" that you get once and keep forever, everyone constantly has to request zillions of tokens. Which opens up a timing attack, because then the issuer and site can collude to see that every time notbob69 signs into the website, Bob Smith requested a token, and over really quite a small number of logins to the site, that correlation becomes uniquely identifying. Meanwhile we don't need to solve it this way, because the much better solution is to have the site provide a header that says "this content is only for adults" than to have the user provide the site with anything, and then let the user's device do what it will with that information, i.e. not show the content if the user is a minor. | |||||||||||||||||
| |||||||||||||||||
| ▲ | Izkata 44 minutes ago | parent | prev [-] | ||||||||||||||||
But one overlooked advantage of manually copying JWTs is that the user doesn't have to blindly trust they're not hiding extra information. They can be decoded by the user to see there's only what should be there. | |||||||||||||||||