2008-10-10 14 views

Respuesta

46

SSL proporciona seguridad de nivel de transporte seguro. Nadie entre el cliente y el servidor debería poder leer la información.

Pero debe cambiar de opinión acerca de cómo escribir datos sensibles en la cadena de consulta. Aparecerá en el historial del navegador y estará visible en la barra de direcciones del navegador y en los registros en el servidor. Ver este artículo: How Secure Are Query Strings Over HTTPS?

Si usar cadenas de consulta es su única opción (lo dudo), aquí hay un artículo interesante about securing query strings.

+4

Y muy posiblemente en los registros en el final del servidor web. –

+1

Tom: Agregó esa sugerencia, ¡gracias! – splattne

+0

POST en lugar de GET debería funcionar? –

0

nunca debe enviar nada críticamente sensible utilizando cadenas de consulta!

1

Sí, es lo suficientemente seguro. Aunque estoy de acuerdo en que no siempre es una buena idea, de todos modos tener cosas como esa en una cadena de consulta, está bien si no es una cadena de consulta que se mostrará en la barra de direcciones. Si se muestra en la barra de direcciones, usted por razones obvias pierde un nivel de seguridad (personas caminando, etc.)

0

¿No debería uno enviar contraseñas hash? - No importa si estoy equivocado.

SSL es prácticamente la mayor seguridad que puede obtener.

+0

Si usted está hablando web con https, entonces tendría que hacer algo de JavaScript mokeying aproximadamente. Casi cualquier truco que rompió el SSL también permitiría el reemplazo del JavaScript (aunque no automáticamente). –

2

Los datos confidenciales en la cadena de consulta son una mala idea, los transeúntes casuales pueden ver la cadena de consulta y existe la tentación de marcar que realmente no es seguro.

SSL es bastante seguro, si usted hace banca por Internet y confía en él, SSL también será suficiente para usted.

2

de acuerdo con el protocolo SSL es cuestión * ish y la cadena de consulta segura

recordar que existen limitaciones en SSL -

asegurar que el certificado raíz es certificada.

algunos equipos con Windows 2000 necesita tener una sp aplica para el SSL de 128 bits para trabajar, si no está allí, entonces se va a 40bit o la carga doenst (si no recuerdo mal)

Algunos servidores de seguridad de software como ISA - donde publica el sitio seguro y el certificado dentro de él, actúe como un hombre en el medio.

Seguro para ISA y luego seguro para LAN. pero la gran facter aquí es la "continuación", como ISA registrará entonces el registro es un problema ya que la contraseña en la cadena de consulta y posterior se puede ver - lo que significa que cualquier persona (administrador) puede ver ...

A fin de buscar algoritmos de hash seguros en su idioma para simplemente cortar la contraseña.

2

No hay "seguridad suficiente", la seguridad no es algo estático con una propiedad bool que sea falsa o verdadera.

SSL es bueno, pero depende de cuán segura es la clave privada del servidor, la cantidad de bits que tiene la clave, el algoritmo utilizado, cuán confiables son los certificados usados, etc.

Pero si usa SSL, al menos todos sus datos transmitidos están encriptados (excepto la IP de destino porque se usa para enrutar su paquete).

Otro punto que debe considerar es: si ingresa su cadena de consulta de contraseña a mano en su navegador, puede terminar en su caché de navegador local (en un archivo local completamente descifrado). Así que es mejor utilizar mecanismos de transferencia POST y no GET.

Si está realmente interesado en la seguridad, recomiendo más investigación sobre ese tema, porque la mayoría de las veces el algoritmo no es el punto más débil de la seguridad.

4

SSL es seguro, pero recuerde que cualquier encriptación se puede romper si se le da suficiente tiempo y recursos. Dado que no sabe qué paquetes contienen una contraseña y cuáles no, debe descifrar todo el tráfico cifrado para encontrar el correcto. Esto es intratable en el caso general.

Sin embargo, un formulario de inicio de sesión necesitará una entrada [tipo = texto] para ingresarlo. Sería necesario "descomprimir" esto y convertir la solicitud en una solicitud HTTP GET utilizando cadenas de consulta en lugar de una POST con los datos en los parámetros de formulario. No puedo imaginar por qué alguien haría esto. Una vez que el usuario haya proporcionado la contraseña (y el usuario haya autenticado), utilice el hecho de autenticación en lugar de mantener la contraseña. Si necesita conservar la contraseña, para suplantarla, por ejemplo, guárdela en el servidor y preferiblemente en una cadena segura. Si está intentando hacer, inicie sesión de forma única (ingrese mi id/contraseña una vez para muchos sitios), luego use algún tipo de servicio central de autenticación (CAS) - OpenID, WindowsLive - o implemente el suyo propio.

Cuantas menos veces una contraseña cruza el cable, mejor.

Y, siempre existe la barra de ubicación del navegador para considerar cuál argumentaría que necesita encriptar y codificar cualquier dato sensible que ponga en cadenas de consulta como se mencionó anteriormente.

0

Los certificados autofirmados son certificados SSL que usted mismo crea y firma. Esto significa que no necesita una autoridad de certificación (CA) de un tercero para firmar su certificado, pero significa que los navegadores, de forma predeterminada, emitirán una advertencia al respecto, ya que un certificado autofirmado no puede confiablemente (su navegador tiene una lista de CA confiables) verifique que el firmante del certificado sea exactamente lo que dice el certificado.

Considere la situación en la que crea un certificado SSL "en nombre de" cierta compañía de software basada en Redmond. Ahora, si su servidor HTTP presenta ese certificado, que ha auto-firmado, a un cliente, el agente de usuario advertirá que este certificado puede no ser realmente de quien dice que es. Una autoridad certificadora verificará, mediante el papeleo, el tipo de árbol real real y real, la identidad de la parte que solicita la firma, por lo tanto es confiable.

Espero que esto ayude.

+0

Entonces, puedo agregar este certificado en mi grupo de confianza. Más tarde debería funcionar sin preguntar, al menos para mí. :-) ¿derecho? –

+0

Sí. (O bien, si no requiere la verificación entre pares en SSL, pero aún desea la seguridad, puede deshabilitar la verificación en la biblioteca que use (al menos cURL admite esto para HTTPS). – AKX

Cuestiones relacionadas