¿Es necesario encriptar una solicitud SAML si la estoy firmando con una clave privada y enviándola a través de SSL? ¿O sería una mejor práctica firmarlo usando mi clave privada, encriptarla usando la clave pública de proveedores de identidad Y transmitirla a través de SSL?¿Se recomienda firmar y cifrar SAML Y usar SSL?
Respuesta
Una consulta/solicitud de aserción SAML generalmente no contiene demasiados datos privados, y la solicitud en sí no se conserva para su uso posterior, por lo que hay poca necesidad de encriptar la solicitud SAML. Al firmarlo, el receptor podrá verificar que el contenido no haya sido alterado en tránsito, y transimitirlo a través de SSL proporcionará privacidad durante la transmisión. Encriptar la solicitud en esta situación probablemente sea excesivo.
Una respuesta de aserción SAML, sin embargo, es un animal completamente diferente. Una respuesta de SAML que contenga reclamos o afirmaciones probablemente contenga datos privados. Dependiendo de cómo se utilicen estas afirmaciones en su sistema, las aserciones pueden transmitirse entre diferentes partes, algunas tienen las claves necesarias para descifrar el contenido (porque tienen una relación de confianza con el proveedor de SAML) y otras que no lo hacen. . Las aserciones de SAML se pueden almacenar en un caché o en una base de datos, por lo que realmente no se sabe quién las hurgará en el futuro.
Si la respuesta SAML contiene afirmaciones y afirmaciones que contienen datos privados, y el receptor de la respuesta se mantendrá en la aserción SAML por un período indefinido o pasando las aserciones SAML a través de partes intermedias en las que no confía, entonces sí, las aserciones SAML deben estar cifradas y la respuesta debe estar firmada, independientemente de si se transmite mediante SSL o no. El cifrado es para proteger la privacidad de los datos una vez que llegan al otro extremo del conducto SSL.
Y, el otro extremo de la tubería SSL es el navegador. Hay un conducto desde el IdP hasta el navegador, y otro desde el navegador hasta el Proveedor de Servicios. Si la Afirmación no está encriptada, la Afirmación estaría disponible para cualquiera en el navegador. Un atacante podría usar el identificador de nombre no encriptado en algún tipo de ataque a futuros documentos e interacciones de SAML.
Pero si un atacante es dueño del navegador ¿no lo hemos perdido ya? – sbc
- 1. Política para firmar y cifrar
- 2. comprensión Shibboleth y SAML
- 3. Comenzando con SAML y PHP
- 4. ¿Firmar respuesta SAML con o sin firma de aserción?
- 5. ¿Se puede usar el certificado SSL para firmar digitalmente los archivos?
- 6. SSL es mitad simétrica y mitad asimétrica?
- 7. Web SSO con Java y SAML 2.0
- 8. Usar el objetivo agregado para firmar y desplegar varias aplicaciones
- 9. SAML tamaño de símbolo y REST
- 10. AJAX, Subdominios y SSL
- 11. SSL y SocketChannel
- 12. Selenium y HTTPS/SSL
- 13. ¿Aún se recomienda COM +?
- 14. ¿Mejores prácticas para cifrar y descifrar contraseñas? (C# /. NET)
- 15. ¿Se recomienda usar cstdio, cstring, cmath, etc. en C++?
- 16. ¿Por qué no se recomienda usar herencia múltiple?
- 17. ¿Cómo firmar un archivo y luego verificarlo?
- 18. Mismo servidor, SSL y no SSL
- 19. ¿Se puede cifrar (sin SSL) una autenticación mediante HTTP a través de IIS?
- 20. pycurl y SSL cert
- 21. SSL, Tomcat y Grails
- 22. Certificado autofirmado con SAML 2.0
- 23. ¿aún se recomienda el SICP?
- 24. QNetworkRequest y la configuración SSL predeterminada
- 25. Diferencia entre el protocolo https y el certificado SSL
- 26. Usar wshttpBinding con SSL y wsHttpBinding sin SSL en un solo servicio
- 27. ¿Por qué no se recomienda HibernateDaoSupport?
- 28. ASP.NET MVC - HTML.BeginForm y SSL
- 29. java SSL y cert keystore
- 30. BOOL y tinyint (1) ... ¿sin firmar?
"El cifrado es para proteger la privacidad de los datos una vez que llegan al otro extremo del conducto SSL". Esto lo dejó claro para mí. ¡Gracias! – BernardMarx