310 likes | 521 Views
SSL, HTTPS en SSH. Johnny Schaap. Inhoud. TCP en UDP Het OSI model Secure Socket Layer(SSL) Massage Authentication Code(MAC) Certificates Hyper Text Transfer Protocol Secure(HTTPS) Secure Shell (SSH). TCP/IP model en OSI model. http://www.netwerkinstellen.nl/het-osi-model/.
E N D
SSL, HTTPS en SSH Johnny Schaap
Inhoud • TCP en UDP • Het OSI model • Secure Socket Layer(SSL) • Massage Authentication Code(MAC) • Certificates • Hyper Text Transfer Protocol Secure(HTTPS) • Secure Shell (SSH)
TCP/IP model en OSI model http://www.netwerkinstellen.nl/het-osi-model/
UDP en TCP • UDP is niet connectie georiënteerd. • Is sneller dan TCP • TCP is wel connectie georiënteerd. • Heeft veel minder packetloss dan UDP • Moet eerst opgezet worden. TCP-verbinding opzettenhttp://nl.wikipedia.org/wiki/Transmission_Control_Protocol
SSL/TLS • Geschiedenis • 1993: Netscape ontwikkeld SSL 1.0 • 1995: Netscape publiceert SSL 2.0 • 1996: Netscape publiceert SSL 3.0 • 1999: IETF doopte SSL om tot TLS 1.0 • 2006: TLS 1.1 met protectie tegen CBC attacks (d.m.v. padding en initialisatie vectoren) • 2008: TLS 1.2 tegen andere aanvallen. • Transport Layer Security(TLS)
SSL API en Sockets • SSL zit tussen de Applicatie en Transport laag • Kurose J.F. & Ross K.W. (2009) “Computer Networking: A top down approach”, Addison-Wesley.
SSL verbinding • 3 Fases • Hand-shake fase • Keyderivation fase • Data transfer fase
SSL Hand shake • Hand-shake fase bestaat uit 3 fases • Hand-shake • Authenticatie • Sleuteluitwisseling
SSL KeyDerivation • Alice(cliënt) en Bob(server) genereren beide: • EA = Encryptie/Decryptie van het bericht naar Alice • EB = Encryptie/Decryptie van het bericht naar Bob • MA= Integriteit check op Alice’s berichten. • MB = Integriteit check op Bob’s berichten. • Indien Cipher Block Chaining wordt gebruikt, genereren beiden 2 initialisatie vectoren.
SSL Data Transfer • Data wordt in stukjes geknipt. • Data, MAC(+Nonce) worden versleuteld. • Header bevat type, versie en lengte.
SSL verbinding verbreken • TCPFIN is niet versleuteld. • Voor TCPFIN moet er een SSL Closure komen.
Massage Authentication Code(MAC) • We hebben bericht b en een sleutel MA. • Hash b en MA met bijvoorbeeld SHA-1. • MAC = SHA-1(b, MA) • Versleutel bericht: (b, MAC) = y • Ontcijfer: y = (b, MAC) • Controleer integriteit: SHA-1(b, MA) == MAC
Certificaten(PKI) • Naam eigenaar • Public key • Geldigheidsduur • Uitgever (CA) • Locatie van CertificateRevocation List • Versleuteling met private key van Hash(bovenstaand) • Ontsleutel met public key en controleer.
SSL Zwakheden • Bestemming kan niet worden versleuteld. • Elk domein met certificaat kan eigen certificaat uitgeven. • Bool om te bepalen of dat mag. • Eerdere implementaties van SSL checkte deze niet.
HTTPS • HTTP met een SSL verbinding. • HTTPS kan niet uit cache laden. • HTTP kan dit wel en is dus sneller • Alleen bij hoog risico pagina’s. • 1994: Ontwikkeld door Netscape voor de Netscape Navigator web browser.
Valide HTTPS pagina’s • Te herkennen aan de https:// URL. • Authenticatie d.m.v. certificaten. • Browser geeft waarschuwing wanneer vals certificaat af wordt gegeven. • Positieve feedback door browser d.m.v. iconen en kleuren. • Positieve feedback op pagina d.m.v. iconen en kleuren.
Zwakheden en aanvallen • Bekend tussen wie en hoe lang er wordt gecommuniceerd. • Een vals certificaat afgeven in de hoop dat mensen toch doorklikken. • SSLStrip • Homograph Attack
SSL Strip • Mensen bereiken HTTPS via buttons. • Na HTTPS request, HTTP versie terug sturen. • Cookies na zoveel tijd verwijderen.
Homograph Attack • Vraag een certificaat aan voor een domein die zelfde oogt. • paypai.com => paypaI.com (hoofdletter i) • Beter: vervang ‘/’ door een van de vele tekens die er hetzelfde uitzien. • Voordeel: krijgt positieve feedback van browser.
Combinatie SSLStrip en Homograph • Nadeel homograph: valse button op een eigen pagina. • Nadeel SSLStrip: Geen positieve feedback. • Combinatie: MitM attack, wanneer HTTPS request voorbij komt, door verwijzen naar eigen homograph webpagina. • Bescherming?
Oscar is blij! • Alle verbindingen over HTTPS. • Kost te veel processing tijd dus wordt niet gedaan. • Deze aanval blijft effectief. • Kinderwerk met de SSLStrip applicatie. • (Dit is Succes kid Oscar -------->)
SSH • Commando’s over netwerk naar ander apparaat. • 1995: SSH 1.0 Password sniffing tegen gaan. • 2000: OpenSSH • 2006: SSH 2.0 MAC en Diffie-helman om zwakheden tegen te gaan.
SSH Werking • Transport Laag: • Authentiseert server d.m.v. asymmetrische crypto. • Verstuurd en vernieuwd sleutels • User Authenticatie laag: • Authenticatie van cliënt d.m.v. wachtwoorden, sleutels, keyboard interactie etc. • Connectie laag: • Direct-tcpip, forwarded-tcpip en shell
Zwakheid • Man-in-the-middle attack. • Doet zich voor als server. • Vraagt om password. • Heeft password onderschept en kan inloggen op server. • Werkt alleen bij servers die passwords als user authenticatie gebruikt en nooit eerder communicatie tussen server en cliënt heeft plaats gevonden.
Conclusie • SSL, HTTPS en SSH worden wereldwijd gebruikt. • SSL wordt als erg veilig gezien wanneer goed geïmplementeerd. • HTTPS heeft een ernstige zwakheid. • SSH is ook veilig wanneer user authenticatie wordt gedaan op een andere manier dan Passwords.