Защита от ретрансляционных атак на мобильный вход в систему (использование неявного потока openID) - PullRequest
0 голосов
/ 24 марта 2020

Я ищу возможность войти в систему с помощью стороннего поставщика удостоверений на мобильном устройстве. Наш серверный API ожидает получения id_token.

Насколько я понимаю, nonce используется для предотвращения повторных атак. Это означает, что если у нас есть одноразовый номер, привязанный к одному пользовательскому сеансу, мы можем сопоставить одноразовый номер для этого пользовательского сеанса и предотвратить повторное использование id_token злоумышленниками. Например, в этой ссылке они рекомендуют генерировать одноразовый номер и отправлять ha sh одноразового номера в Apple при каждом запросе аутентификации.

Затем говорится, что 'firebase проверяет ответ хэшируя исходный одноразовый номер и сравнивая его со значением, переданным Apple '. Означает ли это, что id_token + nonce отправляется по проводам в базу данных Firebase, где он просто хэширует одноразовый номер (который мы отправляем) и проверяет, содержится ли он в id_token? Если это так, не может ли кто-нибудь перехватить этот запрос и воспроизвести его? Или же Firebase / База данных / Сервер уже знает об оригинальном одноразовом слове перед тем, как вручить?

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