ASec IT Solutions AG "Secure SSL" Tagung 9. September 2005, Hotel Mövenpick Glattbrugg Keynote SSL verstehen Prof. Dr. Peter Heinzmann Institut für Internet-Technologien und Anwendungen, HSR Hochschule für Technik Rapperswil (ITA-HSR) und cnlab Information Technology Research AG peter.heinzmann@cnlab.ch, www.ita.hsr.ch
www.hsr.ch Institut für Internet-Technologien und Anwendungen cnlab information technology research ag www.cnlab.ch Fachhochschule Ostschweiz, HSR Hochschule für Technik Rapperswil Elektrotechnik Informatik Maschinenbau Gartenbau Raumplanung Bauingenieurwesen ca. 1 000 Studierende (44% FHO) ITA-HSR: Institut für Internet- Technologien and -Anwendungen 1997 HSR spin-off 10 Engineers Security & Application Engineering Internet Security Reviews & Eng. Internet Application Engineering Examples Collaboration & Project Controlling Framework Internet Performance Benchmarking PGP
Ziele Sie verstehen die SSL-Funktionsweise: Sie können erklären, wie Client und Server die Verschlüsselung und Authentisierung bestimmen und kontrollieren. Sie verstehen wie SSL auf Man-in-the-Middle Attacken reagiert. Sie wissen worauf bei der SSL Zertifikatsprüfung geachtet werden muss. Sie erkennen kritische Punkte beim Einsatz von SSL.
Secure Socket Layer (SSL) Bausteine SSL2.0, SSL3.0, TLS1.0 / SSL3.1 Hybrid encryption scheme Symmetric Key Encryption Public Key Encryption Public Key Certificate
SSL/TLS History 1994 1996 1999 2005 Netscape Communications, The SSL Protocol (SSL2.0) Netscape Specification, 1994. A. Freier & P. Karlton Netscape, P. Kocher Indep. Consultant, The SSL Protocol Version 3.0, INTERNET-DRAFT, Nov.18, 1996 (Expires May 1997). T. Dierks & C. Allen, Certicom, The TLS Protocol Version 1.0 Proposed Standard RFC 2246, January 1999. T. Dierks & E. Rescorla, Independent RTFM Inc. The TLS Protocol Version 1.1, INTERNET-DRAFT, June 2005 (Expires December 2005)
Hybrid Encryption Scheme Encryption with symmetric key system (DES, AES, IDEA, RC4,...) Exchange of the symmetric key with public key system (DH, RSA) Signed Public Key i.e. Certificate (RSA, SHA, MD5,...)
Private key encryption (symmetric key systems) K AB K AB K AB K AB TEXT &%C5 TEXT Plaintext (Klartext) E K AB Encipher (verschlüsseln) Ciphertext (verschlüsselter Text) D K AB Decipher (entschlüsslen) Plaintext
Public and secret keys Public Key Private Key (secret key) Bob Bob Bob K B K B TEXT Af%G TEXT Plaintext Block E KB Encipher Ciphertext Block D KB Decipher Plaintext Block
Digital signature analogon: Alice checks Bob s signature Dear Bob, change 5 and 7... Bob 1. Alice places his personal empty paper in a transparent box locked with Bob s public key Bob Dear Bob, change 5 and 7... Dear Bob, change 5 and 7... Bob 2. Alice opens the box using her private key and writes a message on Bob s personal paper 3. Bob put it back into the box and locks it with bis public key
Secure Socket Layer (SSL) Protokoll Client-Server Kommunikation SSL-Handshake SSL-Verschlüsselung
https:
Secure Socket Layer (SSL) (https://server.xyz.ch) WWW-Client WWW-Server Browser Server Signer HTTP-Server SSL Server SSL supports Confidentiality, Integrity Server Authentication optional Client Authentication
Key exchange WWW-Client S CA Kc Ks K SSL 3.0 / TLS 1.0 setup (without Session Identifier) ClientHello (Kc=ClientHello.random (Challenge), CipherListOffer) ServerHello (Ks=ServerHello random, SessionID, CipherSuiteMatch, ComprMethod, X.509 Certificate) Client Key Exchange (ChangeCipherSpec) EncryptedHandshakeMessage (K) WWW-Server S Ks Kc CA K C CA Client X.509 Certificate (SSL V3.0) ChangeCipherSpec Encrypted session Application Data Application Data Application Data symmetrically encrypted with Master Secret Application Data symmetrically encrypted with Master Secret Application Data Application Data
Example: Server Certificate
Example: Cipher Suite (1) (Ethereal Client Hello Capture)
Example: Cipher Suite (2) (Ethereal Server Hello Capture )
Example: IE Configuration Browser/Version dependent
SSL Einsatz Proxy Content Screening Tunneling
SSL/TLS Proxy (Man-in-the-Middle) DHost: localhost DP: 50 000 Client Browser with SSL 50000 SSL-Proxy: localhost Port 50 000 Target-Host : p SHost: IP-LH Dhost: IP-Z DP: p SP: y y p Server Target-Host: IP-Z Port p SHost: Localhost SP: 50 000 SHost: IP-Z DHost: IP-LH DP: y SP: p
Odysseus Lokaler Proxy. Terminiert HTTP und HTTPS Erlaubt die Modifikation der HTTP Anfrage und der HTTP Antwort. Kann auch mit SSL Client Zertifikaten arbeiten. Muss im Browser als Proxy konfiguriert werden. http://www.wastelands.gen.nz
Odysseus Funktion Lokaler Computer Web Server HTTP Request HTTP Reply
Odysseus Activity Log
Zusammenfassung
Was sind die aktuellen Security Probleme im Privatbereich / Mobile Computing? Professionelle / kommerzgetriebene Angriffe Aufbau und Betrieb einer Botnet-Infrastruktur Gezielt auf bestimmte Kunden(gruppen) Entscheide (überforderter) Nutzer Mail-Attachments Downloads von Webseiten (Programme, ActiveX Komponenten, ) Rechner Updates Viren, Würmern, Spyware nur schwer erkennbar
Reaktionen/Massnahmen Automatic Updates Virenscanner Betriebssystem Firewall Access Router (NAT) Personal Firewall Server Authentifizierung SSL Content Screening Malicious Code Detection / Removal
Address Bar Spoofing