El OAuth RFC declara:
OAuth utiliza tokens para representar la autorización otorgada a la
Cliente por el propietario del recurso. Normalmente, las credenciales de token son
emitido por el servidor a petición del propietario del recurso, después de
autenticando la identidad del propietario del recurso (usualmente usando un
nombre de usuario y contraseña).
Hay muchas formas en que un servidor puede facilitar el aprovisionamiento
de credenciales de token. Esta sección define una de esas formas, utilizando HTTP.
Redirecciones y usuario-agente del propietario del recurso. Esta redirección-
El método de autorización basado en tres pasos:
-
El cliente obtiene un conjunto de credenciales temporales del servidor
(en la forma de un identificador y secreto compartido). Lo temporal
Las credenciales se utilizan para identificar la solicitud de acceso en todo
el proceso de autorización.
-
El propietario del recurso autoriza al servidor a otorgar al cliente
solicitud de acceso (identificada por las credenciales temporales).
-
El cliente usa las credenciales temporales para solicitar un conjunto de
credenciales de token del servidor, que le permitirán acceder
los recursos protegidos del propietario del recurso.
Para tener la autorización, el cliente (el sitio que usa sus datos) debe redirigirlo al servidor que contiene sus datos para registrarse.
En la Sección 2.2 , los estados del RFC:
La forma en que el servidor maneja la solicitud de autorización,
incluyendo si usa un canal seguro como TLS / SSL está más allá
El alcance de esta especificación. Sin embargo, el servidor DEBE primero
verificar la identidad del propietario del recurso.
Pero definitivamente, yo (como propietario del recurso) no usaré ninguna OAuth-ORization sin verificar el certificado del sitio.
Entonces, para OAuth 1.0 esto no es obligatorio.
El OAuth 2.0 RFC sigue siendo un borrador, pero entiendo que es requiere TLS
10.9. Autenticidad de los puntos finales
Con el fin de prevenir los ataques de hombre en el medio y de phishing, el
El servidor de autorización DEBE implementar y requerir TLS con el servidor
autenticación definida por [RFC2818] para cualquier solicitud enviada al
Autorización y puntos finales de token. El cliente DEBE validar el
certificado TLS del servidor de autorización de acuerdo con su
requisitos para la autenticación de identidad del servidor.
[...]
10.11 [...]
Para reducir el riesgo de ataques de phishing, los servidores de autorización
DEBE utilizar TLS en cada punto final utilizado para la interacción del usuario final
Por lo tanto, la autenticación se basa en el protocolo TLS tal como se analizó en el blog recientemente .
Para resumir, sospecho que cualquier intento de OAuth sin TLS es malicioso. Y, por supuesto, lo mismo si los certificados SSL no se validan.