Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 10415|Respuesta: 0

Análisis de seguridad OAuth 2.0 para móviles y escritorios y mecanismo de verificador de códigos

[Copiar enlace]
Publicado en 28/11/2020 20:51:48 | | | |
Las aplicaciones de escritorio y móvil son navegadores integrados en la aplicación para ayudar a completar todo el proceso OAuth 2.0

El proceso se muestra en la figura



OAuth2.0 web
1) Devolver el authCode al Web redirectUri especificado (este URI lo configura el desarrollador de la aplicación)
2) Para cambiar el token, necesitas pasar el clientId y el clientSecret para verificar la identidad del cliente (obtenida por el servicio backend de la aplicación)

Teniendo en cuenta los dos puntos anteriores,
1) Porque no es válida la detección de redireccionamiento de Uri en la aplicación web
2) Como no hay un cliente de servicio backend, el secreto no es seguro
Entonces, el ataque que podemos encontrar es como se muestra en la figura siguiente: puede haber una aplicación maliciosa interceptando authCode para enviar un mensaje al AuthorizationServer y obtener el token, de modo que el token se obtenga sin la autorización del cliente para la aplicación sino para otra autorización oficial de aplicación, logrando así el propósito del ataque.



Solución:

1. El cliente genera una cadena aleatoria verificadora de código y guarda esta cadena aleatoria
code_challenge = transformación(code_verifier, [Llanura| S256])
Si el método de transformación es simple, entonces el desafío de código es equivalente a verificador de código
Si el método de transformación es S256, entonces el desafío del código es igual al hash Sha256 del verificador de código
2. Llevar un desafío de código a la solicitud de código de autorización y cómo generar un desafío de código. Estos dos están vinculados al código de autorización emitido por el servidor
3. Tras obtener el código de autorización, el cliente trae el verificador de código inicialmente generado al intercambiar el código de autorización por el Token de Acceso. El servidor calcula el verificador de código según el método de transformación acotada, compara el resultado calculado con el desafío del código acotado y emite un Token de Acceso si es consistente.




Anterior:.NET/C# genera un archivo CS a partir de un archivo XML WSDL
Próximo:ASP.NET Core (iii) Crear dinámicamente instancias usando ActivatorUtilities
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com