Säker kommunikation - Nivå HTTP FTP SMTP /Sec (a) Network level Kerberos UDP S/MIME PGP SMTP HTTP FTP SMTP SSL or TLS (b) Transport level SET HTTP Föreläsningens innehåll Säker överföring Sec SSL/TLS Distribuerad autenticering Kerberos Digitala pengar (c) Application level 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 1 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 2 Sec Sec - VPN Ramverk för krypterad Kryptering på -nivå Sec Sec Överallt Istället för SSL, SSH, kryptering i applikation Bland annat för VPN (Virtual Private Network) 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 3 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 4 Sec - Består av vad? Inte en standard - utan en uppsättning standards Bland annat: Authentication Header(AH) Integritet och autenticering av data Encapsulation Security Payload (ESP) Konfidentialitet, integritet och autenticering av data Internet Key Exchange (IKE) Nyckelhantering Algoritmer för autenticering och kryptering 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 5 Sec - Implementation Hur kan man implementera Sec? Sec aware Sec aware Antingen i värddatorn (host:en) eller i routern (secure gateway) Transprort och/eller tunnling 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 6
Sec - Operation modes Transport: Modifiera -Paket HDR UDP/ + DATA HDR Sec HDR UDP/ + DATA Encrypted Tunnling: Paketera -paket HDR UDP/ + DATA New HDR Sec HDR HDR UDP/ + DATA Encrypted 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 7 Sec - Hur går det till? 1. Skapa en säkerhetskoppling (Security Association) i IKE - Förhandling - Autenticering - Gemensam nyckel? 2.Skapa en Sec säkerhetskoppling - Förhandling - Ny sessionsnyckel 3.Skicka data 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 8 Sec - Slutord Implementerat på Måste kunna v4 och v6 Nyckeldistribution - Ej hårt specat Manuellt Automatiskt (Publika nycklar) Kerberos-style Mer info RFC 2401 - RFC 2411 och RFC 2451 SSL - Secure Socket Layer Ett protokoll utvecklat av Netscape för kommunikation mellan två parter SSL Skapar en ny gränsyta för programmeraren. Lägger på ett nytt socketlager på existerande, uppkopplade, sockets 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 9 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 10 SSL SSL utnyttjar asymmetrisk kryptering för att överföra en symmetrisk sessionsnyckel Antingen klienten eller servern, eller båda, eller ingen, kan ha ett certifikat Ett servercertifikat försäkrar klienten att den talar med rätt server Ett klientcertifikat försäkrar servern att den talar med rätt klient SSL utan certifikat skyddar mot avlyssning, men ej mot impersonation SSL - Centrala begrepp SSL connection En uppkoppling mellan två parter Varje SSL connection är associerad till en SSL session SSL session Mellan en klient och en server Definierar en uppsättning säkerhetsparametrar Dessa parametrar kan delas av många SSL connections 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 11 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 12
SSL - Protokoll SSL - Change Cipher och Alert SSL består av fyra olika protokoll ordnade i två lager SSL Handshake Protocol SSL Change Cipher Spec Protocol SSL Record Protocol SSL Alert Protocol HTTP SSL Change Cipher Spec Protocol Består av endast ett meddelande, en byte med värdet 1 SSL Alert Protocol Används för att skicka larm till motparten Två bytes Allvarlighet - warning eller fatal (avbryter) Typ av alarm 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 13 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 14 SSL Handshake Protocol SSL Handshake Protocol (2) Används före något data kan skickas Autenticering av klient och server Förhandling om vilka nycklar och vilka krypteringsoch MAC-algoritmer som ska användas Protokollet består av ett antal meddelanden med tre fält Typ (1 byte) Längd (3 byte) Innehåll(> 0 byte) Client ClientHello ServerHello Certificate Certificate Request ServerHelloDone Certificate Certificate Verify Change Cipher Spec Finished Server Establish protocol version, session ID, cipher suite, compression method, exchange random values Optionally send server certificate and request client certificate Send client certificate response if requested Change cipher suite and finish handshake Change Cipher Spec Finished 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 15 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 16 SSL Record Protocol SSL - Slutord Application data abcdefghi Fragment/combine Record protocol units Compress Compressed units Hash MAC Encrypt Encrypted Transmit abc def ghi packet SSL Record Format Header med innehållstyp, versionsnummer och innehållslängd Krypterat innehåll inkl MAC Hur får man tag på SSL? RSA (kommersiellt): www.rsasecurity.com/standards/ssl/developers.html OpenSSL (fritt): www2.psy.uq.edu.au/~ftp/crypto/ HTTP + SSL = HTTPS Exakt samma protokoll, men ett nytt transportlager Slutligen: SSL -> TLS SSL befinner sig nu i v3.0 TLS (Transport Layer Security) v3.1 (RFC 2246) Ej helt kompatibla 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 17 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 18
Kerberos Kerberos - Frågor Kerberos är ett identifieringssystem Bygger på Needham-Schroeders nyckeldistribution för symmetriska nycklar Skapades på MIT på 80-talet web.mit.edu/kerberos/www Koden är öppen Finns i många kommersiella produkter Hur kan en dator försäkra sig om att den kommunicerar med en viss dator? Hur kan en dator försäkra sig om att den kommunicerar med en viss användare på en annan dator? Hur vet användaren att den kommunicerar med rätt dator? 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 19 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 20 Kerberos - Distribuerad autent. Kerberos - Ticket request Distribuerad autenticering à la Kerberos: 1. Request for TGS ticket 2. Ticket for TGS 3. Request for Server ticket 4. Ticket for Server 5. Request for 1 6 2 3 4 5 Authetication Server Key Distribution Centre en skickar Vem den är (användarid) Vem den vill ha ticket till Nonce (tidsstämpel och skydd mot replay) 1 Authetication 6. Authenticate Server (optional) 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 21 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 22 Kerberos - Ticket response Kerberos - En biljett 2 Authetication Sessionsnyckel K C,TGS för att kommunicera med TGS + nonce, alltsammans krypterar med K C, en nyckel som klienten känner till genom sitt password! En ticket T C,TGS som används för att bevisa för TGS att klienten är den som den säger att den är. Krypterat med K TGS, en nyckel som AS och TGS känner 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 23 Vad innehåller en biljett? Namnet på servern Namnet på klienten Adressen till klienten Tidsstämpel Giltighetstid Sessionsnyckel 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 24
Kerberos - Server ticket request Kerberos - Server ticket en skickar En authenticator (namn, adress, tid) krypterad med K C,TGS Vem den vill ha ticket till (S) Biljetten, T C,TGS, krypterad med K TGS Nonce 3 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 25 4 TGS returnerar, om authenticatorn stämmer Sessionsnyckel K C,S för att kommunicera med S + nonce, alltsammans krypterat med K C,TGS En ticket T C,S som används för att bevisa för S att klienten är den som den säger att den är. Krypterat med K S, en nyckel som TGS och S känner 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 26 Kerberos - Request for Kerberos - Mutal authentication en skickar Authenticator krypterad med K C,S Biljetten, T C,S, krypterad med K S Nu kan S vara säker på att C är C 5 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 27 5 6 Server en skickar Authenticator krypterad med K C,S Biljetten, T C,S, krypterad med K S Timestamp Servern svarar med timestamp+1, krypterat med K C,S Nu vet C att S är S 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 28 Kerberos - Fördelar Inga lösenord skickas i nätet! Kryptografiskt skydd mot spoofing Ticket-system - Tidsbegränsad åtkomst Tidsangivelser i meddelanden - Skydd mot återuppspelning Ömsesidig autenticering Kerberos - Nackdelar Kräver att TGS alltid finns tillgänglig Kräver att servrarna litar på varandra Tidssystemet har brister Man kan knäcka lösenordet off-line Skalar dåligt Är en allt-eller-inget-lösning 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 29 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 30
Frågeställningar Kopieringsrisk Integritet Driftsäkerhet Protokollexempel Digitala pengar Digitala pengar - Protokoll 1 1. E(KH C, (x, S, n)) 2. E(KH S, (x, C, E(KH C (x, S, n)))) 3. OK eller NOK 4. Om OK: Varan till kund Bank och affär måste hela tiden vara uppkopplade mot varandra 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 31 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 32 Digitala pengar - Protokoll 2 Elektroniska plånböcker 1. E(KH C, ( Ta ut x ekronor )) 2. E(KH B, (x, a)) 3. E(KH B, (x, a)) 4. E(KH B, (x, a)) + lite till 5. Om a okej: Skicka OK 6. Om OK: Varan till kund Digitala pengar - Integritet I de tidigare protokollen har banken full koll på vad alla handlar och var Det behövs en motsvarighet till verklig valuta Blindnings-förfarande skapat av David Chaum på DigiCash S kan ej kontrollera om C använt myntet flera ggr 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 33 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 34 Digitala pengar - Blinda signaturer 1. C -> B Hitta på ett n Välj r så att 1 < r < n a är serienumret på uttaget mynt x är beloppet E(KH C, (x, ar KSB (mod n))) 2. B -> C Signerar myntet Beräknar t = (ar KSB ) KHB (mod n) C Tar bort blindningsfaktorn r (t / r) (mod n) = a KHB (mod n) 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 35 Digitala pengar - Blinda sign. (2) Affären kan nu avgöra att myntet är korrekt eftersom det är signerat av banken Banken kan också avgöra att serienumret inte redan använts genom att spara alla använda serienummer Banken kan, eftersom den aldrig tidigare sett a, inte avgöra varifrån myntet härstammar 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 36
Digitala pengar - SET & Millicent SET - Secure Electronic Transaction Utvecklat av bland annat MasterCard och Visa Skyddar affären - Den vet att den får betalt (får försäkring av kortbolaget) Skyddar kunden - Affären kan bara ta betalt en gång (vet aldrig kortnummer) Skyddar kunden - Kortbolaget vet ej vad kunden köpt www.setco.org Millicent Mikrobetalningssystem Läs i boken! 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 37 Säkerhet på kursen Föreläsningar Gästföreläsningar Kurslitteratur Kap 7 i Distributed Systems (Kolla på frågorna oxå) Hela Secrets & Lies 8 February, 2001 Distribuerade system - Jonny Pettersson, UmU 38