В чем разница между именем пользователя / паролями и токенами на предъявителя?

#oauth-2.0 #token #access-control #bearer-token

#oauth-2.0 #токен #контроль доступа #токен на предъявителя

Вопрос:

Согласно RFC-6750 токен безопасности, обладающий тем свойством, что любая сторона, владеющая токеном («предъявитель»), может использовать токен любым способом, которым может любая другая сторона, владеющая им (без демонстрации владения криптографическим ключом).

  • Q1) Разве это определение не применимо к имени пользователя и паролю также потому, что любой, у кого есть имя пользователя и пароль, может использовать его так же, как и любая другая сторона (возможно, украденная имя пользователя и пароль), владеющая им, может? В обоих случаях (без демонстрации владения криптографическим ключом). Это потому, что токен уже содержит разрешения? Большое спасибо

Ответ №1:

Как вы говорите, оба могут использоваться кем-то, кто их крадет, но ключевые моменты токенов доступа заключаются в том, что:

  • Они недолговечны (~ 60 минут), в отличие от паролей
  • Они представляют собой только подмножество пользовательских разрешений, необходимых конкретному приложению

КРАЖА ТОКЕНОВ ДОСТУПА

Токены доступа также нелегко украсть. Злоумышленник может получить токен доступа для своего собственного входа, но это не позволит им каким-либо образом повысить свои привилегии, если ваши пользовательские интерфейсы и API надежно закодированы.

УПРАВЛЕНИЕ ПАРОЛЯМИ

Украденный пароль гораздо серьезнее, чем украденный токен, поскольку пароль представляет собой все, что пользователь может сделать, возможно, во многих приложениях.

Технологии OAuth не позволяют использовать пароли в приложениях по вышеуказанным причинам. Ваше приложение никогда не должно видеть пароль пользователя и не несет ответственности за какие-либо уязвимости пароля.

Вместо этого пароли поддерживаются специализированным программным обеспечением поставщика удостоверений. Чаще всего компании подключают недорогое облачное решение, в котором управление паролями разработано экспертами по безопасности.

Комментарии:

1. Спасибо. Меня смутило это утверждение «свойство, которое любая сторона, владеющая токеном («предъявитель»), может использовать токен любым способом, которым может любая другая сторона, владеющая им (без демонстрации владения криптографическим ключом)». И, на мой взгляд, это относится и к паролям. Теперь вы имеете в виду токен доступа. правильно ли я говорю, что каждый токен доступа является токеном на предъявителя?

2. Токены на предъявителя, безусловно, являются наиболее распространенным вариантом, поскольку они работают для веб- и мобильных пользовательских интерфейсов. В серверных сценариях возможны более высокие параметры безопасности, такие как взаимный протокол TLS для получения токена или токены подтверждения владения , когда клиент отправляет подтверждение закрытого ключа в дополнение к самому токену. Обычно это невозможно для веб- и мобильных пользовательских интерфейсов, поскольку они являются общедоступными клиентами и не могут хранить секреты.