Si todas las llamadas de API se envían a través de https, ¿HMAC agrega alguna seguridad adicional? Por ejemplo, en oauth 2, el cliente envía su clave secreta al proveedor sin ningún tipo de hash. ¿Esto se considera seguro porque está por encima de https? Si bien no es estrictamente oauth, ¿el uso de HMAC en esta llamada hará que Oauth 2 sea más seguro? Si es así, ¿por qué no es una parte estándar de oauth 2?¿Es necesario HMAC si todas las llamadas API se realizan a través de https?
Respuesta
El estándar OAuth 2 requiere que el servidor de autorización DEBE usar HTTPS en todos sus puntos finales y el cliente DEBE usar una devolución de llamada protegida con HTTPS. Dado que los contenidos del mensaje (encabezados, parámetros de consulta y fragmentos que consideran OAuth) son conocidos solo por el servidor y el cliente, el uso de una conexión HTTPS se considera seguro. Por lo tanto, no hay ganancia utilizando una firma separada para la solicitud de autorización, es por eso que tales firmas ni siquiera se mencionan en el estándar.
Sin embargo, esto no siempre es válido para la respuesta. Si el cliente recibe la respuesta de autorización a una devolución de llamada sin protección, no puede verificar su validez. En tales casos, un atacante puede enviar resultados de autorización arbitrarios al cliente. Agregar una firma con los parámetros de devolución de llamada, puede evitar esto. Sin embargo, parece ser una mejor solución para usar la autenticación mutua de cliente/servidor con una devolución de llamada HTTPS.
Si bien no hay una ganancia real utilizando firmas durante la autorización, pueden ser útiles para acceder a recursos protegidos para evitar el robo de tokens de acceso. Esta es la razón por la cual el tipo de token de MAC está en el estándar, vea section 7.1.
HMAC es para la autenticación que determina quién es usted, https es para la seguridad del transporte que asegura que uno en el centro pueda ver el contenido de su transporte.
Oauth 2 servidor de autorización use la clave secreta o la contraseña para determinar quién es usted. El token de uso del servidor de recursos Oauth2 del servidor de autorizaciones determina quién es usted. Usar https o no depende de si desea proteger su clave secreta y sus tokens.
- 1. ¿Cuál es el punto de SSL si el violinista 2 puede descifrar todas las llamadas a través de HTTPS?
- 2. Detectar si y cuándo se realizan llamadas jQuery AJAX
- 3. ¿Es necesario cifrar contraseñas antes de enviarlas a través de HTTPS?
- 4. ¿OAuth es irrelevante cuando se usa HTTPS?
- 5. Las llamadas AJAX a HTTPS no confiable (autofirmado) fallan silenciosamente
- 6. ¿Qué modo se prefiere cuando se realizan llamadas WCF asíncronas?
- 7. C - Si se usa Realloc, ¿es necesario?
- 8. Intentar firmar digitalmente a través de HMAC-SHA1 con PHP
- 9. El uso Moq para verificar las llamadas se realizan en el orden correcto
- 10. Cambiar a BigInteger si es necesario
- 11. Monitoreo de llamadas API
- 12. reescritura .htaccess pasar todas las cadenas de consulta a través
- 13. Use Unity para interceptar todas las llamadas a IMyInterface.SomeMethod
- 14. Cómo incluir archivos CSS y JS a través de HTTPS cuando sea necesario?
- 15. http to https a través de .htaccess
- 16. ¿Cómo hacer todas las llamadas AJAX secuencialmente?
- 17. Publicación de anuncios a través de HTTPS
- 18. ¿Deshabilita o elimina todas las llamadas de Console # WriteLine?
- 19. jQuery espera hasta que todas las animaciones de la página se realizan
- 20. Después de iniciar sesión, ¿deberían todas las páginas ser https?
- 21. ¿Es necesario intentar conectarse a todas las direcciones devueltas por getaddrinfo()?
- 22. Kohana: ¿Es necesario verificar si se define SYSPATH?
- 23. ¿Cómo saber cuando todas las llamadas ajax están completos
- 24. Chrome-Extension: ¿iterar a través de todas las pestañas?
- 25. ¿Cómo se realizan las pruebas "limpias" en Macintosh sin virtualización?
- 26. Si llamo a Twitter API para obtener todos mis seguidores, ¿cuántas llamadas a la API es eso?
- 27. ¿Cómo forzo a Disqus a usar HTTPS en todas las solicitudes?
- 28. como Twitter Widgets.js a través de HTTPS
- 29. Página espera a que se completen todas las llamadas AJAX antes de actualizar
- 30. jQuery y data-attributes para manejar todas las llamadas ajax?