Большинство приложений и веб-администраций привыкли к тому, то клиенты вспоминают и вводят свои пароли каждый раз при входе в систему. Помимо того, что это тяготит клиентов, такой подход представляет угрозу безопасности, так как клиенты часто выбирают ненадежные пароли и повторно используют из во многих других администрациях. Эти проблемы решаются на основе проверки на основе токенов (или токенов). Как насчет того, чтобы посмотреть, как это помогает?
Определение токена
Мы должны начать с точных значений «токенов», которые в основном представляют собой измененные формы паролей или выражений, которые используются для проверки символов.
Когда происходят какие-то обмены данных в Интернете, токены аутентификации являются очень полезными инструментами для демонстрации своей личности во время входа в систему, обновлений, покупок и других процессов. Интересным в токенах является то, что они могут быть последовательными, как при входе в систему, или могут быть более «фиктивными», требуя «контакта» (дополнительного подтверждения или физического присутствия), чтобы гарантировать, что вы тот, за кого себя выдаете, и что вам действительно можно войти.
Токены более безопасны, так как они не должны содержать информацию о клиенте и создаются путем вычислений или выполнения программы. Это существенно лучше в сравнении с тем, что некоторые организации используют индивидуальные данные клиентов в качестве своего регистрационного номера, что позволяет злоумышленникам без особых усилий использовать в своих целях еще больше пользователей. Клиенты, которые используют некоторые частные данные для своих паролей, беспомощны против тех, кто без особых усилий нашел их, просматривая страницы в социальных сетях этих клиентов.
Аутентификация на основе токенов
Токены можно использовать для многофакторной аутентификации (MFA - multi-factor authentication) и серверных протоколов, которые соединяют приложения, API и веб-сайты.
Важность аутентификации на основе токена
Отойдите в сторону от технологий для того, чтобы рассмотреть проблему, которую вы пытаетесь решить. Вы просите законных пользователей подтвердить свою личность, чтобы не пропустить злоумышленников в вашу сеть (где они могут украсть данные, установить программы-вымогатели и т.д.). Так как токен основан на закрытом ключе устройства, то, когда мы используем токен из приложения, такого как PingID, брелка или ключа, который мы подключаем к нашему компьютеру, мы предотвращаем вмешательство внешних субъектов. «Зачем» заключается в том, чтобы выбрать решение для аутентификации на основе токенов, которое проверяет пользователей, не создавая конфликтов и безвыходных положений. Пользователи довольны, а данные в безопасности, когда процесс проходит гладко.
Аутентификация на основе токена в действии
Клиентам могут быть предоставлены токены подтверждения различными способами, включая токены на базе оборудования, одноразовые пароли (обычно предоставляемые с помощью мобильных телефонов) и токены, созданные с помощью программирования на основе стандарта JWT.
Все токены хранят характеристики и информацию о клиенте в безопасном виде. С учетом такого бесчисленного количества правил защиты информации, имеющимися на сегодняшний день, токен также может проверять, что информация достоверна и не была изменена, что является основным условием безопасности. Они также расширяют возможности клиентов, позволяя им входить в систему, не запоминая пароли.
Подтверждение на основе токена обычно происходит в четыре этапа:
- Требование – клиент требует доступ к защищенному ресурсу, который его интересует. Клиент изначально должен как-то отличиться без использования токена, например, воспользовавшись именем пользователя или секретной фразой.
- Подтверждение – проверка гарантирует, что сертификаты клиента являются действительными и что клиент имеет соответствующие полномочия в указанной инфраструктуре.
- Токены – токен выдается инфраструктурой и передается клиенту. Этот процесс включает в себя предоставление токенов клиенту за счет токена оборудования. Это происходит «за кулисами» при генерации токенов, так как взаимодействие клиента происходит с сервером.
- Определение – токен фактически хранится у клиентов, будь то в их программе или на их мобильном телефоне. Это дает им возможность в будущем проходить проверку без использования сертификатов.
Преимущества и недостатки аутентификации на основе токена
У такой процедуры есть свои преимущества и недостатки, как и у любого другого подхода или метода.
Преимущества
- Эффективность. Программные токены более эффективны и универсальны, чем фактические Токены. Сервер может создавать и проверять сколько угодно токенов в зависимости от ситуации, что упрощает масштабирование количества клиентов, обращающихся к вашему сайту или веб-приложению. Они также не предполагают, что организации будут предоставлять своим клиентам фактические токены.
- Адаптивность. Программные токены являются гибкими в том смысле, что они могут быть задействованы на нескольких серверах и одновременно проверять различные сайты и приложения. Они часто используются для реализации системы единого входа (SSO - single sign-on), что упрощает работу клиентов, а также повышает безопасность.
- Безопасность. Токены JWT не фиксирует свое текущее состояние и должны быть подтверждены, когда закрытый ключ получен приложением на стороне сервера, которое их создало. Поэтому они считаются надежным и безопасным методом проверки.
Недостатки
- Скомпрометированный секретный ключ. Наличие всего одного ключа является существенным недостатком в стандарте JWT. В случае, если за ключом, как предполагалось, не следят проектировщики и администраторы сайта, и он вдруг перехватывается злоумышленниками, то конфиденциальная информация может быть раскрыта. Это может позволить злоумышленникам имитировать клиентов и перехватывать встречи с клиентами, что трудно определить и остановить.
- Служебная информация. JWT намного больше стандартного токена встреч и заполняется по мере добавления дополнительной информации о клиенте. Добавление дополнительной информации к маркеру может увеличить время загрузки страницы за счет увеличения времени, необходимого для организации встречи с клиентом.
- Долговременная аутентификация не идеальна. Системы, позволяющие клиентам оставаться в системе в течение длительного периода времени, не очень хороши. Эти токены требуют постоянной повторной проверки, что может раздражать клиентов. Хорошей альтернативой в этом случае является использование токенов обновления и их правильное хранение. Клиенты могут использовать токены обновления, чтобы оставаться в сети в течение более длительных периодов времени без необходимости повторного подтверждения.
Насколько безопасна аутентификация на основе токена?
Так как киберпреступность не стоит на месте, а развивается, то специалистам по управлению следует постоянно обновлять свои стратегии и механизмы обеспечения безопасности. Участись атаки с использованием фишинга, физических сил и слов-ссылок с целью получения доступа. Теперь пароли не подходят для подтверждения.
Проверка на основе токенов, в сочетании с другими стратегиями проверки, может стать еще более сложным препятствием, которое не позволит даже опытным хакерам воспользоваться взломанными паролями. Токены должны быть извлечены из устройства, которое их создало (например, мобильного телефона или генератора ключей), что делает их на сегодняшний день исключительно хорошей стратегией подтверждения.
Хотя этапы проверки токенов имеют массу преимуществ, обычно это очень затратный процесс. Токены, хранящиеся в сотовых телефонах, можно использовать, но они могут оказаться бесполезными из-за каких-либо дефектов гаджета. Токены можно спокойно перехватить, если предположить, что они были отправлены через сообщение. Злоумышленник может получить токены, хранящиеся на устройстве, если оно было потеряно или украдено.
Тем не менее, стоит помнить, что нельзя полагаться на стратегию однократной проверки. Проверка токена должна использоваться для двухфакторного или многофакторного подтверждения.
Типы токенов
1. Аппаратный ключ (токен) (USB-ключ)
Токены оборудования – это реальные устройства, которые после утверждения позволяют клиентам получать доступ к защищенным сетям. Иначе их называют токенами проверки или безопасности. Токен оборудования используется для добавления дополнительного уровня безопасности посредством двухфакторной или многофакторной проверки (2FA или MFA). Владелец такого токена подключает его к системе или администрации, которую будет использовать.
Для того, чтобы обеспечить превосходное обслуживание клиентов и возможность адаптироваться, токены оборудования поставляются различных форм и размеров. Самые известные токены – USB-ключи или удаленные токены.
2. JWT – JSON веб-токен
Этот тип является открытым стандартом для обработки данных JSON (RFC 7519). Он подразумевает определенную бесплатную методологию для безопасной передачи данных между сторонами. Для передачи данных между сторонами стандарт JWT использует объекты JSON. Эти токены можно использовать для подтверждения, а также для перемещения дополнительных данных о клиенте или записи.
JWT могут быть отправлены в виде URL-адресов, ограничений POST или заголовков HTTP и могут быть быстро переданы ввиду их небольшого размера. Чтобы избежать различных информационных индексных запросов, JWT содержит всю основную информацию о компоненте. Чтобы подтвердить токен, получателю JWT не нужно обращаться к серверу.
JWT состоит из трех частей:
- Заголовок, содержащий информацию о типе токена и использованном методе шифрования.
- Полезная нагрузка, содержащая возможности подтверждения наряду с дополнительной информацией о клиенте или записи.
- Отпечаток, объединяющий криптографический ключ, который можно использовать для подтверждения полезности полезной нагрузки.
3. Токен одноразового пароля (OTP - One-Time Password)
Это защищенное оборудование или программное устройство, которое генерирует одноразовые пароли. Чаще всего используются индивидуальные идентификационные номер (PIN), которые представляют собой числовые коды от 4 до 12 цифр.
Одноразовые пароли в большинстве случаев создаются и получаются с помощью мобильных телефонов. После подтверждения владения телефоном клиент может использовать приложение-аутентификатор для создания одноразовых паролей. В этом случае телефон выступает в роли генератора кода. OTP также можно отправлять с устройства через SMS.
Объединяя созданные системы проверок, одноразовые пароли дополняют проверку пользователей и паролей. Токены OTP создают PIN-коды одновременно или нет, в зависимости от сервера.
Одновременные токены создают одноразовый пароль, используя ваш закрытый ключ и текущее время, а то время как неодновременный использует механизм аутентификации «запрос-ответ» (CRAM - Challenge Response Authentication Mechanism), набор соглашений, в которых сервер задает вопрос, а токендолжен дать правильный ответ.
4. Токен API
Этот тип токена служит полезным идентификатором для приложений, запрашивающих доступ к вашей администрации. Приложение в этот момент использует токен API, созданный вашей администрацией, чтобы запросить доступ к вашей администрации. Токен API сравнивается с тем, который вы сохранили для проверки и предоставления доступа. Время от времени можно использовать идентификатор сессии, но это отдельный случай.
Токен программного интерфейса становятся все более безопасным вариантом, в отличие от отправки набора имени пользователя и пароля по HTTP. OAuth2 – это одно из наиболее широко используемых на сегодняшний день соглашений о безопасности API.