Что делать, если утечка кода авторизации в Oauth - PullRequest
0 голосов
/ 27 июня 2018

После успешного входа на сервер аутентификации сервер перенаправляет обратно в приложение с кодом авторизации. И затем этот код авторизации используется для получения токена доступа в бэкэнде. Я сомневаюсь, что кто-то видел / захватил или скопировал мой код авторизации до того, как я его использовал. Затем он также может войти в систему с моими учетными данными. Я хочу знать, правильно ли я думаю? Или я пропускаю поток безопасности в процессе.

Редактировать: Меня больше всего беспокоит случай, когда кто-то видел код авторизации в истории моего браузера, а затем он отправляет этот код с другой машины, чтобы получить токен доступа. Как мы можем предотвратить это.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

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

Тогда многое зависит от вашего URI перенаправления. Если он принадлежит вашему серверу, это https (поэтому злоумышленник не сможет прослушать трафик ), а ваш сервер не разрешит OpenRedirect - злоумышленнику, вероятно, не удастся перехватить код.

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

Обратите внимание, что здесь я предполагаю, что OAuth 2.0 хорошо спроектирован. Реализации OAuth 2.0, которые игнорируют требования RFC 4749 , могут подвергаться большому количеству атак.

0 голосов
/ 27 июня 2018

Вы правы: именно поэтому в OAuth 2.0 должен быть фиксированным, зарегистрированным URI обратного вызова, на который клиент получает код авторизации, что обеспечивается профилями, такими как OpenID Connect. В разделе, посвященном соображениям безопасности, в спецификации анализируются риски концепции кода авторизации: https://tools.ietf.org/html/rfc6749#section-10.5

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