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

Вид: 10415|Ответ: 0

Мобильный и настольный анализ безопасности OAuth 2.0 и механизм CodeVerifier

[Скопировать ссылку]
Опубликовано 28.11.2020 20:51:48 | | | |
Десктопные и мобильные приложения — это встроенные браузеры, которые помогают пройти весь процесс OAuth 2.0

Процесс показан на рисунке



OAuth2.0 web
1) Вернуть authCode в указанный веб-redirectUri (этот URI настроен разработчиком приложения)
2) Чтобы изменить токен, необходимо передать clientId и clientSecret для подтверждения идентичности клиента (полученных через сервер приложения)

Обратив внимание на два вышеуказанных пункта,
1) Поскольку не перенаправление веб-приложения, обнаружение Uri некорректно
2) Поскольку нет бэкенд-сервиса, Secret не защищён
Тогда атака, с которой мы можем столкнуться, такова, как показано на рисунке ниже: возможно, вредоносное приложение перехватит authCode и отправит сообщение в AuthorizationServer с целью получения токена, чтобы токен был получен без разрешения клиента для приложения, а на другую официальную авторизацию приложения, достигая цели атаки.



Решение:

1. Клиент генерирует случайную строку: код верификатор и сохраняет эту случайную строку
code_challenge = преобразование(code_verifier, [Plain| S256])
Если метод преобразования прост, то вызов кода эквивалентен проверяющему коду
Если метод преобразования — S256, то задание кода равно хэшу Sha256 проверителя кода
2. Внесите вызов в запрос авторизационного кода и определите, как создать вызов кода. Оба этих кода связаны с кодом авторизации, выданным сервером
3. После получения кода авторизации клиент использует первоначально сгенерированный верификатор кода при обмене кода авторизации на токен доступа. Сервер вычисляет верификатор кода по методу связанного преобразования, сравнивает вычисленный результат с задачей связанного кода и выдает Access Token, если он согласован.




Предыдущий:.NET/C# генерирует CS-файл из XML-файла WSDL
Следующий:ASP.NET Ядро (iii) Динамическое создание экземпляров с помощью ActivatorUtilities
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com