paragonie / paseto

Platform-Agnostic Security Tokens
https://paseto.io
Other
3.24k stars 108 forks source link

Protocol Change: Greatly Simplifying our Use-Case #20

Closed paragonie-scott closed 6 years ago

paragonie-scott commented 6 years ago

The first draft (current as of v0.2 of this repository) defined four purposes:

However, seal has since been removed due to a lack of a good real-world use case.

I've been discussing this with other crypto/security experts, and I think we might be able to get the same utility out of PAST if we dropped auth, and changed our paradigm to look like this:

If you need the equivalent use-case of v2.auth (e.g. so you can inspect some data in the token before decoding/verifying it normally), you can simply encrypt an empty string and append your public data in the footer.

This would simplify our design, reduce our technical debt, and minimize the attack surface to a reasonable level. However, this is also a secure-by-default feature: If you're just storing data in a token and using the user as a data mule for local usage, it won't be plaintext.