Какова причина, чтобы держать повышение отметки времени в проверке одноразового номера OAuth? - PullRequest
0 голосов
/ 07 февраля 2019

Я не понимаю, почему при проверке одноразовых сообщений указывать временную метку больше, чем предыдущий запрос об успехе OAuth,

в чем заключается польза для безопасности?

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

И еще одна проблемас помощью keep timestamp rasing в случае многопоточной системы он может создавать условия повышения в случае, если один и тот же клиент (идентификатор потребителя) отправляет более одного запроса за 2 наносекунды разным, а второй запрос достигает метода проверки nonce перед первым, это означает, чтопервый вызов завершится неудачно, поскольку второй вызов уже обновляет метку времени последнего успеха.

Я видел, что в классе реализации NonceManager в Джерси требуется здесь (Джерси - доверенное репо для меня)

а также в этом ответе

...