Ayuda con material de enseñanza SSL

2

Estoy tomando un curso sobre seguridad el próximo mes. Como los conceptos de SSL / TSL son un poco duros. Estoy buscando una buena manera de presentarlo a mis estudiantes. Son estudiantes de pregrado de Compsci.

Sería bueno tener una vida real en su funcionamiento. Creo que la gente de aquí podría ayudarme en esto

    
pregunta user2315 24.12.2011 - 02:28
fuente

3 respuestas

3

Para presentar el tema, me gustaría comenzar con estos puntos:

  • Patrones de uso de SSL / TLS : cómo se usa para proteger otros protocolos (por ejemplo, HTTP - > HTTPS, SMTP - > SMTPS o SMTP + STARTTLS). Encuentro que la distinción entre SSL y TLS a menudo se malinterpreta como una distinción entre SSL / TLS desde el principio vs. SSL / TLS después de un comando similar a STARTTLS dentro del protocolo de la aplicación (gracias a varios clientes de correo electrónico populares por promover esta confusión ...). Yo comenzaría con SSL / TLS en el contexto de HTTPS y lo mantendría hasta el final. No es la parte "dura" de SSL / TLS, pero ayuda a saber cómo se utilizan en el resto de la imagen (las capas de red). Esto debería poner la discusión en contexto para los estudiantes con antecedentes en redes que no necesariamente conocerían mucho sobre criptografía o seguridad.

  • Algunos antecedentes sobre clave pública / criptografía asimétrica , así como algunos antecedentes sobre clave compartida / criptografía simétrica . No estoy seguro de si desea incluir los detalles matemáticos, pero es bueno saber qué tipo de teclas son y para qué se usan. (Por lo general, ambos se utilizan durante una conexión SSL / TLS).

Luego, mientras pasa por un ejemplo de protocolo de enlace SSL / TLS :

  • Autenticación dentro de SSL / TLS : ¿por qué (tendemos a) confiar en los certificados cuando usamos SSL / TLS? Esto casi inevitablemente lo llevará a explicar algunos puntos sobre los certificados X.509, PKI y CA. Este tema es algo ortogonal a SSL / TLS, pero la gran mayoría de las conexiones SSL / TLS dependen de él, y ese es un componente esencial para asegurar la conexión. No necesariamente me expandiría demasiado en la autenticación del certificado de cliente, pero eso es al menos útil para los certificados de servidor. (Los fallos de PKI tienden a dar a SSL / TLS un mal nombre en las noticias).

  • Intercambio de claves Diffie-Hellman .

  • Distinción entre conjuntos de cifrado . Esto puede llevar a discusiones criptográficas más pesadas. La medida en que quiera llegar con esto dependerá de la hora y los antecedentes de sus estudiantes.

  • Mostrar los otros tipos de registros SSL / TLS y el propósito de algunas alertas.

También puede hablar sobre las diferencias entre SSLv3, TLSv1.0, v1.1 y v1.2 un poco. Sin embargo, demasiado sobre esto podría llevar a discusiones muy específicas.

Desde un punto de vista práctico, puedes probar algunas cosas:

  • Instale una herramienta como cURL e intente obtener una página HTTPS de su elección mientras supervisa el tráfico de red con Wireshark .
  • Asegúrate de que la versión de cURL que obtienes sea la predeterminada, sin un conjunto preconfigurado de CAs . cURL se quejará de que no puede verificar el certificado del servidor sin un paquete de certificados de CA confiables: esta será una buena oportunidad para hablar sobre la autenticación y explicar para qué sirven las CA. (Instale algunos certificados de CA para el resto del ejercicio).
  • Si puede, instale su propio servidor de prueba y dé a los estudiantes la clave privada (o haga la demostración usted mismo), para descifrar el SSL / TLS cifrado con Wireshark , utilizando la clave privada del servidor. Asegúrate de deshabilitar los conjuntos de cifrado Ephemeral Diffie-Hellman (DHE / EDH) para esto, de lo contrario no funcionará.
  • Aún utilizando Wireshark, observe el comportamiento de otros clientes. Los clientes de correo electrónico como Thunderbird pueden ser buenos para esto. Varios servidores SMTP (Gmail incluido ahora, creo) están configurados para SMTPS y SMTP + STARTTLS (igual para IMAP). Puedes jugar con ambos modos y, si accedes a las opciones de configuración avanzada de Thunderbird, puedes activar / desactivar ciertas versiones de SSL / TLS y elegir ciertos conjuntos de cifrado. Puede ser interesante observar cómo difiere la negociación.
  • Experimentar con openssl s_connect (quizás junto con s_server , pero no necesariamente) también puede llevar a ejercicios prácticos interesantes.
respondido por el Bruno 26.12.2011 - 18:36
fuente
3

SSL es un protocolo muy bueno. Refinado, muy seguro y no es casual que se use tan ampliamente.

Me gustó leer Los primeros milisegundos de una conexión HTTPS , y se lo recomiendo a otros. La mejor parte es que puedes seguir junto con wireshark y un navegador.

En una nota al margen, no puedo creer que la biblioteca OpenSSL ahora sea 1.0.0. Pensé que eso nunca sucedería. La última versión introdujo la negociación para SPDY (lo que es emocionante incluso si Chrome lo utiliza actualmente cuando se conecta a Gmail XD). Echa un vistazo a chrome: // net-internals / # spdy en chrome.

    
respondido por el rook 24.12.2011 - 03:58
fuente
2

Como estudiante tuve problemas para entender SSL. Esto me ayudó a entender:

Videos:

  1. Explicación de SSL
  2. ¿Qué es HTTPS?

Leer:

  1. Todas las respuestas de ¿Cómo es posible que las personas que observan una conexión HTTPS que se está estableciendo no sabrían cómo descifrarla?
  2. Luego lea, Los primeros milisegundos de una conexión HTTPS lo que explica cómo se ven los paquetes de HTTPS en el cable usando wireshark (un popular detector de paquetes). Además, si es posible, demuestre esto en su clase.
  3. Ahora lea, Todas las preguntas con etiqueta SSL & voté arriba de 10 en este sitio e intenta incorporarlos a tu enseñanza. (Puede ser como preguntas frecuentes o como discusión o como parte de la conferencia en sí)
respondido por el claws 24.12.2011 - 04:54
fuente

Lea otras preguntas en las etiquetas