Инженеры Google и Microsoft объединили свои усилия для защиты от кибератак, известных как атаки повторного воспроизведения.
Атака повторного воспроизведения осуществляется путем записи и последующего воспроизведения подлинных данных, отправленных ранее. К примеру, злоумышленник может похитить принадлежащий жертве токен авторизации OAuth и использовать его для получения доступа к ресурсам, считающимся защищенными.
С целью обезопасить пользователей от подобных атак Андрей Попов и Магнус Нистроем (Microsoft), Дирк Балфанз (Google) и Джефф Ходжес (Консорциума Всемирной паутины) разработали первую версию протокола Token Binding Protocol. Свой проект разработчики представили Инженерному совету интернета в виде рабочего предложения (RFC).
Token Binding Protocol представляет собой протокол, привязывающий cookie-файлы HTTPS и токены OAuth к уровню TLS. Предполагается, что уровень шифрования лишит злоумышленников возможности экспортировать токены и тем самым предотвратит атаку повторного воспроизведения.
Для привязки токенов юзер-агент генерирует открытый и закрытый ключ для каждого сервера. То есть, клиент представляет свой открытый ключ, а рукопожатие обеспечивает закрытый ключ. Так происходит для каждого TLS-подключения к данному серверу.
Механизм привязки токенов к уровню TLS будет отличаться в зависимости от приложения. К примеру, Token Binding ID или криптографический хэш может встраиваться в токен или добавляться в базу данных для сопоставления токенов с соответствующими идентификаторами.