Aiuto con materiale didattico SSL

2

Sto seguendo un corso sulla sicurezza il prossimo mese. Poiché i concetti di SSL / TSL sono un po 'difficili. Sto cercando un modo carino di presentarlo ai miei studenti. Sono studenti di Compsci.

Sarebbe bello avere una vita reale sul suo funzionamento. Penso che le persone qui potrebbero aiutarmi in questo

    
posta user2315 24.12.2011 - 02:28
fonte

3 risposte

3

Per introdurre l'argomento, inizierei con questi punti:

  • Modelli di utilizzo SSL / TLS : come viene utilizzato per proteggere altri protocolli (ad esempio HTTP - > HTTPS, SMTP - > SMTPS o SMTP + STARTTLS). Trovo che la distinzione tra SSL e TLS sia spesso fraintesa per distinguere tra SSL / TLS dall'inizio v.s. SSL / TLS dopo un comando simile a STARTTLS all'interno del protocollo dell'applicazione (grazie a numerosi client e-mail popolari per promuovere questa confusione ...). Vorrei iniziare con SSL / TLS nel contesto di HTTPS e tenerlo per la fine. Non è la parte "difficile" di SSL / TLS, ma aiuta a sapere come vengono utilizzati nel resto dell'immagine (i livelli di rete). Questo dovrebbe mettere la discussione nel contesto per gli studenti con un background di networking che non necessariamente conoscono molto sulla crittografia o sicurezza.

  • Alcuni precedenti su chiave pubblica / crittografia asimmetrica , nonché alcuni elementi di base su chiave condivisa / crittografia simmetrica . Non sono sicuro che tu voglia entrare nei dettagli matematici, ma è bello sapere quali sono i tipi di chiavi e per cosa sono utilizzati. (Solitamente, entrambi vengono utilizzati durante una connessione SSL / TLS.)

Quindi, mentre segui un esempio di handshake SSL / TLS :

  • Autenticazione in SSL / TLS : perché (tendenzialmente) ci affidiamo ai certificati quando utilizzi SSL / TLS. Questo ti porterà quasi inevitabilmente a spiegare alcuni punti sui certificati X.509, PKI e CA. Questo argomento è in qualche modo ortogonale a SSL / TLS, ma la stragrande maggioranza delle connessioni SSL / TLS si basano su di esso, e questo è un componente essenziale per proteggere la connessione. Non necessariamente espanderei troppo l'autenticazione del certificato client, ma è almeno utile per i certificati del server. (Gli errori PKI tendono a dare a SSL / TLS un brutto nome nelle notizie.)

  • Scambio chiave Diffie-Hellman .

  • Distinzione tra suite di crittografia . Questo può portare a discussioni di crittografia più pesanti. Quanto lontano vuoi andare dipende dal tempo e dallo sfondo dei tuoi studenti.

  • Mostra gli altri tipi di record SSL / TLS e lo scopo di alcuni avvisi.

Puoi anche parlare un po 'delle differenze tra SSLv3, TLSv1.0, v1.1 e v1.2. Troppo su questo potrebbe portare a discussioni molto specifiche, però.

Da un punto di vista pratico, puoi provare alcune cose:

  • Installa uno strumento come cURL e prova a ottenere una pagina HTTPS a tua scelta mentre monitorizzi il traffico di rete con Wireshark .
  • Assicurati che la versione di cURL che ottieni sia come predefinita, senza un set preconfigurato di CA . cURL si lamenterà di non poter verificare il certificato del server senza un bundle di certificati CA affidabili: questa sarà una buona opportunità per parlare di autenticazione e spiegare a cosa servono le CA. (Installa alcuni certificati CA per il resto dell'esercizio.)
  • Se puoi, installa il tuo server di prova e dai agli studenti la chiave privata (o fai tu la demo tu stesso), a decifra lo SSL / TLS crittografia con Wireshark , utilizzando la chiave privata del server. Assicurati di disabilitare le suite di crittografia Ephemeral Diffie-Hellman (DHE / EDH), altrimenti non funzionerà.
  • Ancora usando Wireshark, osserva il comportamento di altri client. I client di posta elettronica come Thunderbird possono essere utili per questo. Un certo numero di server SMTP (Gmail incluso ora, credo) sono configurati per SMTPS e SMTP + STARTTLS (lo stesso per IMAP). È possibile giocare con entrambe le modalità e, se si utilizzano le opzioni di configurazione avanzate di Thunderbird, è possibile attivare / disattivare determinate versioni di SSL / TLS e scegliere alcune suite di crittografia. Può essere interessante osservare come differisce la negoziazione.
  • Sperimentare con openssl s_connect (forse in congiunzione con s_server , ma non necessariamente) può portare anche a interessanti esercizi pratici.
risposta data 26.12.2011 - 18:36
fonte
3

SSL è un protocollo molto interessante. Raffinato, molto sicuro e non a caso è così diffuso.

Mi è piaciuto leggere I primi pochi millisecondi di una connessione HTTPS e lo consiglio ad altri. La parte migliore è che puoi seguire insieme a wireshark e un browser.

Nota a margine Non posso credere che la libreria OpenSSL sia ora 1.0.0! Pensavo che non sarebbe mai successo. L'ultima versione ha introdotto la negoziazione per SPDY (il che è eccitante anche se è attualmente utilizzato da Chrome solo quando ci si connette a Gmail XD). Scopri chrome: // net-internals / # spdy in chrome.

    
risposta data 24.12.2011 - 03:58
fonte
2

Da studente ho avuto problemi a capire SSL. Questi mi hanno aiutato a capire:

Video:

  1. spiegato SSL
  2. Che cos'è HTTPS?

Leggi:

  1. Tutte le risposte di Come è possibile che le persone che osservano una connessione HTTPS stabilita non sappiano come decrittografarla?
  2. Quindi leggi I primi pochi millisecondi di una connessione HTTPS che spiega come i pacchetti di HTTPS guardano sul filo usando wireshark (un popolare sniffer di pacchetti). Inoltre, se possibile, dimostralo nella tua classe.
  3. Ora leggi Tutte le domande con tag SSL & votato sopra 10 su questo sito e cerca di incorporarli nel tuo insegnamento. (Può essere una FAQ o una discussione o parte della lezione stessa)
risposta data 24.12.2011 - 04:54
fonte

Leggi altre domande sui tag