Привязка токена
Привязка токена — это предлагаемый стандарт безопасности транспортного уровня (TLS) расширения , целью которого является повышение безопасности TLS за счет использования криптографических сертификатов на обоих концах соединения TLS. Текущая практика часто зависит от токенов на предъявителя, [1] которые могут быть потеряны или украдены. Токены-носители также уязвимы для атак типа «человек посередине» или атак повторного воспроизведения . Напротив, привязанные токены устанавливаются пользовательским агентом , который генерирует пару частного и открытого ключей для каждого целевого сервера, предоставляя открытый ключ серверу и после этого доказывая владение соответствующим секретным ключом при каждом TLS-соединении с сервером.
Привязка токена — это развитие расширения идентификатора канала безопасности транспортного уровня (ранее известного как безопасность транспортного уровня — сертификаты привязки к источнику (TLS-OBC)).
Участие отрасли широко распространено среди разработчиков стандартов, включая Microsoft , [2] Google , [3] PayPal , Ping Identity и Yubico . Однако поддержка браузеров остается ограниченной. Только Microsoft Edge поддерживает привязку токенов. [4]
стандарты IETF
[ редактировать ]Следующая группа документов IETF RFC и интернет-проектов включает набор взаимосвязанных спецификаций для реализации различных аспектов стандарта привязки токенов.
- Протокол привязки токена версии 1.0 . [5] Позволяет клиент-серверным приложениям создавать долгоживущие, уникально идентифицируемые привязки TLS, охватывающие несколько сеансов и подключений TLS. Затем приложения могут криптографически привязывать токены безопасности к уровню TLS, предотвращая экспорт токенов и атаки повторного воспроизведения. Для защиты конфиденциальности идентификаторы привязки токена передаются только через TLS и могут быть сброшены пользователем в любое время.
- Расширение Transport Layer Security (TLS) для согласования протокола привязки токена . [6] Расширение для согласования версии протокола привязки токена и ключевых параметров.
- Привязка токена через HTTP . [7] Набор механизмов, которые позволяют HTTP-серверам криптографически привязывать токены безопасности (например, файлы cookie и токены OAuth) к соединениям TLS.
- Привязка токена для соединений Transport Layer Security (TLS) версии 1.3 . [8] Этот сопутствующий документ определяет обратно совместимый способ согласования привязки токена в соединениях TLS 1.3.
- Привязка токена HTTPS с завершением обратных прокси-серверов TLS . [9] Определяет поля заголовка HTTP TLS , которые позволяют завершающему обратному прокси-серверу передавать информацию на внутренний сервер о проверенном сообщении привязки токена, полученном от клиента, что позволяет этому внутреннему серверу привязывать или проверять привязку файлов cookie и других токенов безопасности к Ключ привязки токена клиента. Это облегчает совместную работу обратного прокси-сервера и внутреннего сервера, как если бы они представляли собой единое логическое развертывание привязки токена HTTPS на стороне сервера.
Соответствующий проект стандарта IETF:
- Привязка токена OAuth 2.0 . [10] Позволяет реализациям OAuth 2.0 применять привязку токенов к токенам доступа, кодам авторизации, токенам обновления, грантам авторизации JWT и аутентификации клиента JWT. Это криптографически привязывает эти токены к паре ключей привязки токенов клиента, владение которыми доказывается в соединениях TLS, для которых предназначены токены. Такое использование привязки токенов защищает эти токены от атак «человек посередине», экспорта и воспроизведения токенов.
Сопутствующие стандарты
[ редактировать ]Использование привязки токена TLS обеспечивает более надежную веб-аутентификацию. Некоторые стандарты веб-аутентификации, разработанные организациями по стандартизации, не входящими в IETF, принимают проекты стандартов.
- Проект аутентификации с привязкой к токену OpenID Connect 1.0 . [11] OpenID Connect (OIDC) — это простой уровень идентификации поверх протокола OAuth 2.0 . OIDC позволяет Клиентам проверять личность Конечного пользователя на основе аутентификации, выполняемой Сервером авторизации, а также получать базовую информацию о профиле Конечного пользователя совместимым способом, подобным REST. Спецификация аутентификации с привязкой к токену OIDC позволяет реализациям OIDC применять привязку токена к токену идентификатора OIDC. Это криптографически привязывает токен идентификатора к соединению TLS, по которому произошла аутентификация. Такое использование привязки токенов защищает поток аутентификации от атак «человек посередине», экспорта и воспроизведения токенов.
- Предлагаемая рекомендация W3C по веб-аутентификации: API для доступа к учетным данным открытого ключа . [12] Веб-аутентификация ( WebAuthn ), интерфейс для аутентификации пользователей с открытым ключом для веб-приложений и служб, поддерживает привязку токенов.
Ссылки
[ редактировать ]- ^ М. Джонс, Microsoft; Д. Хардт, Независимый (2012). «Структура авторизации OAuth 2.0: использование токена носителя» . Инструменты IETF . Рабочая группа по интернет-инжинирингу. дои : 10.17487/RFC6750 . Проверено 23 августа 2018 г.
- ^ Алекс Саймонс (21 августа 2018 г.). «Пришло время привязки токенов» . Microsoft Enterprise Mobility + Security . Майкрософт . Проверено 23 августа 2018 г.
- ^ «Информационный документ о конфиденциальности Google Chrome» . Google . Проверено 23 августа 2018 г.
- ^ «Введение в привязку токена» . Майкрософт. 8 ноября 2016 г. Проверено 15 января 2019 г.
- ^ А. Попов, ред.; М. Нистрем; Д. Балфанц; Дж. Ходжес. «Протокол привязки токена версии 1.0» . Инструменты IETF . IETF . дои : 10.17487/RFC8471 . RFC 8471 . Проверено 22 января 2019 г.
- ^ А. Попов, ред.; М. Нистрем; Д. Бальфанц. «Расширение Transport Layer Security (TLS) для согласования протокола привязки токена» . Инструменты IETF . IETF . дои : 10.17487/RFC8472 . RFC 8472 . Проверено 22 января 2019 г.
- ^ А. Попов; М. Нистрем; Д. Балфанц, редактор; Н. Харпер; Дж. Ходжес. «Привязка токена через HTTP» . Инструменты IETF . IETF . дои : 10.17487/RFC8473 . RFC 8473 . Проверено 22 января 2019 г.
- ^ Харпер, Н. Привязка токена для соединений Transport Layer Security (TLS) версии 1.3 . IETF . Идентификатор черновика-ietf-tokbind-tls13 . Проверено 22 января 2019 г.
- ^ Кэмпбелл, Б. «Привязка токена HTTPS с завершением обратных прокси-серверов TLS» . Инструменты IETF . IETF . Идентификатор черновика-ietf-tokbind-ttrp . Проверено 22 января 2019 г.
- ^ Джонс, М.; Кэмпбелл, Б.; Брэдли, Дж.; Деннисс, В. «Привязка токена OAuth 2.0» . Инструменты IETF . IETF . ID черновика-ietf-oauth-token-binding . Проверено 22 января 2019 г.
- ^ М. Джонс, Microsoft; Дж. Брэдли, Юбико; Б. Кэмпбелл, Ping Identity. «Аутентификация с использованием токена OpenID Connect» . Фонд OpenID . Проверено 23 августа 2018 г.
- ^ Дирк Балфанц, Google; Алексей Ческис, Google; Джефф Ходжес, PayPal; Джей Си Джонс, Mozilla; Майкл Б. Джонс, Microsoft; Акшай Кумар, Microsoft; Анджело Ляо, Microsoft; Рольф Линдеманн, Nok Nok Labs; Эмиль Лундберг, Юбико; Виджай Бхарадвадж, Microsoft; Арнар Биргиссон, Google; Юбер Ле Ван Гонг, PayPal; Кристиан Брэнд, Google; Адам Лэнгли, Google; Гиридхар Мандьям, Qualcomm; Майк Уэст, Google; Джеффри Яскин, Google. «Веб-аутентификация: API для доступа к учетным данным открытого ключа» . Консорциум Всемирной паутины . Проверено 23 августа 2018 г.
{{cite web}}
:|author1=
имеет общее имя ( справка )
Внешние ссылки
[ редактировать ]- Привязка токена на BrowserAuth.net
- Презентация привязки токенов на Identiverse 2018
- Клингенштейн, Нейт; Скаво, Том (10 августа 2010 г.). «Профиль SSO веб-браузера SAML V2.0» . ОАЗИС . Проверено 23 августа 2018 г.
- Блог о привязке токена OAuth 2.0