SSL, HTTPS en SSH

Download Report

Transcript SSL, HTTPS en SSH

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.
o Is sneller dan TCP
• TCP is wel connectie
georiënteerd.
o Heeft veel minder packet loss dan UDP
o Moet eerst opgezet worden.
TCP-verbinding opzetten
http://nl.wikipedia.org/wiki
/Transmission_Control_Pro
tocol
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)
o 2008: TLS 1.2 tegen andere aanvallen.
o
o
o
o
o
• 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
o Hand-shake fase
o Key derivation fase
o Data transfer fase
SSL Hand shake
• Hand-shake fase bestaat uit 3 fases
o Hand-shake
o Authenticatie
o Sleuteluitwisseling
SSL Key Derivation
• Alice(cliënt) en Bob(server) genereren beide:
o EA = Encryptie/Decryptie van het bericht naar
Alice
o EB = Encryptie/Decryptie van het bericht naar
Bob
o MA = Integriteit check op Alice’s berichten.
o MB = Integriteit check op Bob’s berichten.
o 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, M A) == MAC
Certificaten(PKI)
•
•
•
•
•
•
Naam eigenaar
Public key
Geldigheidsduur
Uitgever (CA)
Locatie van Certificate Revocation 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.
o 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.
Negatieve Feedback
Positieve Browser
Feedback
Positieve Pagina feedback
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.
HTTP versus HTTPS
HTTP versus HTTPS
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.
o 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:
o Authentiseert server d.m.v. asymmetrische crypto.
o Verstuurd en vernieuwd sleutels
• User Authenticatie laag:
o Authenticatie van cliënt d.m.v. wachtwoorden, sleutels, keyboard
interactie etc.
• Connectie laag:
o 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.
Nog vragen?