Förra gången Introduktion till säkerhet Kryptering Grunder Kryptografiska verktygslådan Symmetriska algoritmer MAC Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer Slumptalsgeneratorer Kryptering i sitt sammanhang Autenticering Nyckeldistribution Symmetriska nycklar Asymmetriska nycklar Dagens föreläsning Nyckeldistribution Digitala Certifikat PKI - Public Key Infrastructure Säkerhetsprotokoll SSL Secure Socket Layer Kerberos Digitala pengar Digital vattenmärkning 17/9-02 Distribuerade system - Jonny Pettersson, UmU 1 17/9-02 Distribuerade system - Jonny Pettersson, UmU 2 Digitala Certifikat Cetification Authority (CA) signerar certifikat Certifikat = ett signerat meddelande som säger Jag, CA n, garanterar att 823457345 är Jonnys publika nyckel Om alla har ett certifikat, en privat nyckel och CA s publika nyckel så kan autenticering ske 17/9-02 Distribuerade system - Jonny Pettersson, UmU 3 CA Vad är en CA? En tredje part som man litar på Exempel är statliga myndigheter, finansiella institut och företag som jobbar med detta, tex VeriSign Viktigt att få tag på CA s publika nyckel på ett säkert sätt Kedjor av CA s PKI - Public Key Infrastructure 17/9-02 Distribuerade system - Jonny Pettersson, UmU 4 Vilka man litar på! X.509 Syntax för certifikat Definierar en katalogtjänst för digitala certifikat Katalogen kan ses som en databas med användarcertifikat och används som en autenticeringstjänst för användarna Certifikaten antas vara utställda av någon betrodd CA och ditstoppade av CA n eller användaren 17/9-02 Distribuerade system - Jonny Pettersson, UmU 5 17/9-02 Distribuerade system - Jonny Pettersson, UmU 6 1
Subject Issuer Period of validity Administrative information Extended Information Innehåll i certifikat Distinguished Name, Public Key Distinguished Name, Signature Not Before Date, Not After Date Version, Serial Number Alla certifikat har en giltighetstid Varje CA har en återkallningslista (revocation list) Problem med återkallning 17/9-02 Distribuerade system - Jonny Pettersson, UmU 7 PKI - Public Key Infrastructure Problem Återkallning? Kan man lita på de certifikat som följer med? Hur får root-ca sina nycklar? Vem genererar nya nycklar och hur spridds de? Server till klient till server En lösning till många problem, men oftast opraktisk Manuel procedur 17/9-02 Distribuerade system - Jonny Pettersson, UmU 8 Schneier om PKI Secrets and Lies, s239 As it is used, with the average user not bothering to verify the certificates and no revocation mechanism, SSL is just simply a (very slow) Diffie-Hellman key-exchange method. Digital certificates provide no actual security for electronic commerce; it s a complete sham. 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 (c) Application level 17/9-02 Distribuerade system - Jonny Pettersson, UmU 9 17/9-02 Distribuerade system - Jonny Pettersson, UmU 10 Resten av föreläsningen Säker överföring SSL/TLS Distribuerad autenticering Kerberos Digitala pengar Olika protokoll SET Digital vattenmärkning SSL - Secure Socket Layer Ett protokoll utvecklat av Netscape för kommunikation mellan två parter Applikation Applikation SSL Skapar en ny gränsyta för programmeraren. Lägger på ett nytt socketlager på existerande, uppkopplade, sockets 17/9-02 Distribuerade system - Jonny Pettersson, UmU 11 17/9-02 Distribuerade system - Jonny Pettersson, UmU 12 2
SSL SSL - Centrala begrepp 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 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 17/9-02 Distribuerade system - Jonny Pettersson, UmU 13 17/9-02 Distribuerade system - Jonny Pettersson, UmU 14 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 17/9-02 Distribuerade system - Jonny Pettersson, UmU 15 17/9-02 Distribuerade system - Jonny Pettersson, UmU 16 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 17/9-02 Distribuerade system - Jonny Pettersson, UmU 17 17/9-02 Distribuerade system - Jonny Pettersson, UmU 18 3
SSL Record Protocol SSL och säkerhet 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 SSL ger skydd mot avlyssning SSL ger inget skydd på servern SSL borde ge autenticering, men gör inte alltid det Vid e-handel med kreditkort är det banken som ger säkerheten 17/9-02 Distribuerade system - Jonny Pettersson, UmU 19 17/9-02 Distribuerade system - Jonny Pettersson, UmU 20 SSL - Slutord 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 Kerberos 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 17/9-02 Distribuerade system - Jonny Pettersson, UmU 21 17/9-02 Distribuerade system - Jonny Pettersson, UmU 22 Kerberos - Frågor Kerberos - Distribuerad autent. 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? Distribuerad autenticering à la Kerberos: X 1. Request for TGS ticket 2. Ticket for TGS 6 3. Request for Server ticket 4. Ticket for Server 5. Request for 6. Authenticate Server (optional) 1 2 3 4 5 Authetication Ticket granting Server Key Distribution Centre 17/9-02 Distribuerade system - Jonny Pettersson, UmU 23 17/9-02 Distribuerade system - Jonny Pettersson, UmU 24 4
Kerberos - Ticket request Kerberos - Ticket response X 1 Authetication X 2 Authetication en skickar Vem den är (användarid) Vem den vill ha ticket till Nonce (tidsstämpel och skydd mot replay) Sessionsnyckel K C,TGS för att kommunicera med TGS + nonce, alltsammans krypterat med K C,AS, 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 AS,TGS, en nyckel som AS och TGS känner 17/9-02 Distribuerade system - Jonny Pettersson, UmU 25 17/9-02 Distribuerade system - Jonny Pettersson, UmU 26 Kerberos - En biljett Vad innehåller en biljett? Namnet på servern Namnet på klienten Adressen till klienten Tidsstämpel Giltighetstid Sessionsnyckel 17/9-02 Distribuerade system - Jonny Pettersson, UmU 27 Kerberos - Server ticket request X 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 AS,TGS Nonce 3 Ticket granting 17/9-02 Distribuerade system - Jonny Pettersson, UmU 28 Kerberos - Server ticket Kerberos - Request for X 4 Ticket granting 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 TGS,S, en nyckel som TGS och S känner X en skickar Authenticator krypteradmed K C,S Biljetten, T C,S, krypterad med K TGS,S Nu kan S vara säker på att C är C 5 Ticket granting 17/9-02 Distribuerade system - Jonny Pettersson, UmU 29 17/9-02 Distribuerade system - Jonny Pettersson, UmU 30 5
Kerberos - Mutal authentication 5 X 6 Server en skickar Authenticatorkrypteradmed K C,S Biljetten, T C,S,krypteradmed K TGS,S Timestamp Servern svarar med timestamp+1, krypterat med K C,S Nu vet C att S är S 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 17/9-02 Distribuerade system - Jonny Pettersson, UmU 31 17/9-02 Distribuerade system - Jonny Pettersson, UmU 32 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 Frågeställningar Kopieringsrisk Integritet Driftsäkerhet Protokollexempel Digitala pengar 17/9-02 Distribuerade system - Jonny Pettersson, UmU 33 17/9-02 Distribuerade system - Jonny Pettersson, UmU 34 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 17/9-02 Distribuerade system - Jonny Pettersson, UmU 35 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 S kan ej kontrollera om C använt myntet flera ggr 17/9-02 Distribuerade system - Jonny Pettersson, UmU 36 6
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 Digitala pengar - Blinda signaturer 1. C -> B Välj ett a Multiplicera med r Skicka till banken 2. B -> C Signerar myntet C Tar bort blindningsfaktorn r Medför att a är signerad utan banken sett a 17/9-02 Distribuerade system - Jonny Pettersson, UmU 37 17/9-02 Distribuerade system - Jonny Pettersson, UmU 38 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 17/9-02 Distribuerade system - Jonny Pettersson, UmU 39 Digitala pengar - SET 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 17/9-02 Distribuerade system - Jonny Pettersson, UmU 40 Digitala pengar Problem för SET Fördelarna mindre än förväntat Kostnaderna för stora och prestandan för dålig Inte bättre för kunderna Digitala pengar - Millicent Millicent Mikrobetalningssystem Läs i boken! 17/9-02 Distribuerade system - Jonny Pettersson, UmU 41 17/9-02 Distribuerade system - Jonny Pettersson, UmU 42 7
Digital vattenmärkning Digital produkter måste skyddas Olaglig kopiering, förfalskning Autenticering Ägare, tid för köp Ett sätt: Digital vattenmärkning En signal som stoppas in Ska vara lätt att ta fram, men svår att ta bort Andra sätt: Digitalt fingeravtryck: Som en checksumma Kryptering: Skyddar bara under transport Digital vattenmärkning - Hur Original file Plus en testalgoritm Watermark Watermarking algorithm Watermarked file 17/9-02 Distribuerade system - Jonny Pettersson, UmU 43 17/9-02 Distribuerade system - Jonny Pettersson, UmU 44 Digital vattenmärkning - Typer Olika typer av digitala vattenmärkningar Synliga och osynliga Fragile, semi-fragile and robust Spatiala eller spectrala Bild-adaptiva Blinda eller icke-blinda Önskade egenskaper Svåra att upptäcka Tamper-resistance Hög bit rate Skalbarhet 17/9-02 Distribuerade system - Jonny Pettersson, UmU 45 Sammanfattning Nyckeldistribution Digitala Certifikat PKI - Public Key Infrastructure Säker överföring SSL/TLS Distribuerad autenticering Kerberos Digitala pengar Olika protokoll SET Digital vattenmärkning 17/9-02 Distribuerade system - Jonny Pettersson, UmU 46 Nästa gång Brandväggar Helhetssyn på säkerhet Säkerhetsdebatt 17/9-02 Distribuerade system - Jonny Pettersson, UmU 47 8