❓ DPoP: что это такое, как работает и почему Bearer-токенов недостаточно
Утек access token - и работает он у того, кто его нашел. Так устроены Bearer-токены: сервер верит любому, кто предъявил строку из заголовка Authorization.
Отсюда и всем знакомые истории: Codecov (2021) потерял токены из-за Supply Chain Injection в CI/CD, GitHub (2022) потерял OAuth-токены Heroku и Travis CI, в Microsoft (2023) в репозитории оказался слишком «широкий» SAS-токен, открывавший доступ к 38 ТБ данных (тыц, тыц). Во всех случаях токен оказался у посторонних и его просто использовали.
DPoP (RFC 9449) предлагает другой контракт. Токен привязывается к ключу клиента, а каждый запрос сопровождается DPoP proof-JWT, подписанным приватным ключом. Сервер сверяет подпись и отпечаток ключа (cnf.jkt) внутри access token.
Данный механизм является необязательным расширением для OAuth2 и позволяет избежать ситуации, при которой утечка Access Token-а становится фатальной для Backend-а.
📎 Полный текст — по ссылке: https://habr.com/ru/companies/spring_aio/articles/1015544/
Post #1014
7.4K

- 👍 23
- 🔥 10
- ❤ 7
- 👌 1