Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There are two in-use RFCs to make compromised tokens much harder to use by attackers. Neither use IP addresses, but both bind the token to the client using some form of cryptography.

RFC 8705 section 3[0], binds tokens by adding a signature of a client certificate presented to the server doing authentication. Then any server receiving that token can check to see that the client certificate presented is the same (strictly speaking, hashes to the same value). This works great if you have client certs everywhere and can handle provisioning and revoking them.

RFC 9449[1] is a more recent one that uses cryptographic primitives in the client to create proof of private key possessions. From the spec:

> The main data structure introduced by this specification is a DPoP proof JWT that is sent as a header in an HTTP request, as described in detail below. A client uses a DPoP proof JWT to prove the possession of a private key corresponding to a certain public key.

These standards are robust ways to ensure a client presenting a token is the client who obtained it.

Note that both depend on other secrets (client cert, private key) being kept secure.

0: https://datatracker.ietf.org/doc/html/rfc8705

1: https://datatracker.ietf.org/doc/html/rfc9449



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: