Middleware Klockor Globala tillstånd Koordinering Multicast Konsensus Replikering Transaktioner Tidigare 5/10-04 Distribuerade system - Jonny Pettersson, UmU 1 Säkerhet på kursen Föreläsningar Introduktion (i dag) Kryptering (i dag) Autenticiering (i dag) Nyckelhantering Säkerhetsprotokoll Säkerhetspolicies (Accesskontroll Multilateral och säkerhet) Helhetssyn och framtiden Kurslitteratur Säkerhetsanalys 5/10-04 Distribuerade system - Jonny Pettersson, UmU 2 Intro Principle of Easiest Penetration: An intruder must be expected to use any available means of penetration. This is not necessarily the most obvious means, nor is it necessarily the one against which the most solid defence has been installed. Pfleeger, 1997 5/10-04 Distribuerade system - Jonny Pettersson, UmU 3 1
Begrepp Datorsystem Allt och alla inblandade när man gör något med datorer Exposure - exponering En form av möjlig förlust/skada i ett datorsystem Vulnerability - sårbarhet En svaghet i systemet som kan utnyttjas Attack - Utnyttjande av en svaghet Threats -hot Exploit - Ett program som använder sig av en svaghet Control - skyddande åtgärd 5/10-04 Distribuerade system - Jonny Pettersson, UmU 4 Begrepp (2) Subject fysisk person Person fysisk eller legal Principal en enhet som deltar i ett säkerhetssystem Group en mängd av principals Role en funktion som kan antas av olika persons 5/10-04 Distribuerade system - Jonny Pettersson, UmU 5 Typer av hot Interruption Interception Modification Fabrication Information Information source destination A B Normal flow A B Interruption A B Interception C A B Modification C A B Fabrication C 5/10-04 Distribuerade system - Jonny Pettersson, UmU 6 2
Kategorisering av hot Passive threats Active threats Release of message contents Traffic analysis Masquerade Replay Modification of message contents Passiva attacker Svårupptäckta Förebygg mot Aktiva attacker Mer lättupptäckta Svårt att förebygga Upptäck - återställ Denial of service 5/10-04 Distribuerade system - Jonny Pettersson, UmU 7 Kategorisering av hot (2) Interna hot Större access till resurser Oförsiktiga/outbildade användare Användare som stjäl Användare som hjälper till vid externa attacker Externa hot Alla de tidigare nämnda 5/10-04 Distribuerade system - Jonny Pettersson, UmU 8 Sårbarheter - Hot mot hårdvara Eftersom hårdvara är fysiska enheter och därmed synliga, är de lätta att attackera men de är även lätta att försvara Interruption (Deletion) Interception Modification Interception (Theft) Interruption (Denial of service) DATA SOFTWARE HARDWARE Interruption (Loss) Interception Modification Fabrication 5/10-04 Distribuerade system - Jonny Pettersson, UmU 9 3
Sårbarheter - Hot mot mjukvara Interruption (Deletion) Mjukvara kan lätt DATA Interception tas bort Modification SOFTWARE modifieras Interception förstöras (Theft) HARDWARE Interruption (Denial of service) hamna på fel ställe Illvilliga program (Malicious programs) Kan ändra funktionaliteten i program Interruption (Loss) Interception Modification Fabrication 5/10-04 Distribuerade system - Jonny Pettersson, UmU 10 Illvilliga program Bacteria Malicious programs Independent Needs host program Worms Viruses Trapdoors Logic bombs Replicate Non-replicate Trojan horses 5/10-04 Distribuerade system - Jonny Pettersson, UmU 11 Försvar mot illvilliga program Immunisering Scanners Checksummor Anti-virusprogram 5/10-04 Distribuerade system - Jonny Pettersson, UmU 12 4
Sårbarheter - Hot mot data Mer lättolkat - fler attacker Data har värde men värdet kan vara tidsbegränsat Principle of Adequate Protection: Computer items must be protected only until they lose their value. They must be protected to a degree consistent with their value. Pfleeger, 1997 5/10-04 Distribuerade system - Jonny Pettersson, UmU 13 Intro - Hot mot data (2) Säkerhet för data består av Konfidentialitet (Confidentiality) Integritet (Integrity) Tillgänglighet (Availability) Interruption (Deletion) Interception DATA Interruption (Loss) Interception Modification Interception (Theft) Interruption (Denial of service) SOFTWARE HARDWARE Modification Fabrication 5/10-04 Distribuerade system - Jonny Pettersson, UmU 14 Vilka utgör hot Amatörer Otillåten användning av datorer Crackers Script kiddies Yrkesbrottslingar Dataexpeter Vanliga 5/10-04 Distribuerade system - Jonny Pettersson, UmU 15 5
Säkerhetstjänster Vilka säkerhetstjänster bör ett datorsystem tillhandahålla? Konfidentialitet Autenticering Integritet Tillgänglighet Non-repudiation (icke-förnekande) Accesskontroll 5/10-04 Distribuerade system - Jonny Pettersson, UmU 16 Metoder för försvar Med vilka metoder kan datorsystemet försvara sig Kryptering Mjukvarukontroll Interna programkontroller OS kontroller Utvecklingskontroller Hårdvarukontroller Fysiska kontroller Viktigt att kontroller används rätt 5/10-04 Distribuerade system - Jonny Pettersson, UmU 17 Accesskontroll Dess funktion är att kontrollera vilka principals som har access till vilka resurser i systemet Accesskontroll finns på många nivåer 5/10-04 Distribuerade system - Jonny Pettersson, UmU 18 6
Autenticering Användaridentifiering Kunskap - Något man känner till Tillhörighet - Något man har Egenskap - Något man är Säkrare 5/10-04 Distribuerade system - Jonny Pettersson, UmU 19 Nyckelhantering Några frågor... Vem tillhandahåller nycklar? Hur görs nycklarna? Hur får man en nyckel? Utbyte av nycklar? Återkallning av nycklar? 5/10-04 Distribuerade system - Jonny Pettersson, UmU 20 Nyckeldistribution Symmetriska nycklar Inom en domän I protokoll Sessionsnycklar Asymmetriska nycklar I protokoll Certifikat 5/10-04 Distribuerade system - Jonny Pettersson, UmU 21 7
Säkerhetspolicy Annars blir det ett lapptäcke med hål mellan Multilevel säkerhet Klassificering av information Confidential, secret, top secret,... Tidigare var det bara militärer som höll på med det Multilateral säkerhet Skydda information på samma nivå Exempel: Sjukhus E-handel 5/10-04 Distribuerade system - Jonny Pettersson, UmU 22 Kryptering Huvudsyftet för ett kryptografiskt system är att låta två parter kommunicera över en oskyddad förbindelse utan att någon annan kan förstå vad som sägs eller överförs Vad kan kryptografi göra? När är det tillräckligt säkert? 5/10-04 Distribuerade system - Jonny Pettersson, UmU 23 Nätverkssäkerhet Untrusted network Information channel Opponents Principal Message Securityrelated transformation Principal Message Securityrelated transformation Secret information Trusted third party (e.g., arbiter, distrubuter of secret information) Secret information Krypteringsalgoritm? Generering av hemlig info? Distribution av hemlighet? Protokoll för användandet? 5/10-04 Distribuerade system - Jonny Pettersson, UmU 24 8
Nätverkssäkerhet - Brandväggar Information system Gatekeeper function Computing resources (processor, memory, I/O) Data Processes Software Internal security controls Access channel Opponent Human Software Skydd av information/tjänster Interna säkerhetskontroller Önskad/oönskad access? Gatekeeper 5/10-04 Distribuerade system - Jonny Pettersson, UmU 25 Nätverkssäkerhet - Nivå HTTP FTP SMTP TCP IP/IPSec HTTP FTP SMTP SSL or TLS TCP IP (a) Network level (b) Transport level Kerberos UDP S/MIME PGP SMTP TCP IP SET HTTP (c) Application level 5/10-04 Distribuerade system - Jonny Pettersson, UmU 26 Systemevaluering och försäkran Några frågor... När är jag klar? Hur vet jag att systemet fungerar säkert? Kan jag lita på testade produkter? Kan man testa med avseende på säkerhet? 5/10-04 Distribuerade system - Jonny Pettersson, UmU 27 9
Helhetssyn på säkerhet Säkerhetspolicy Implementation av säkerhetspolicyn Säkerhet som process Management 5/10-04 Distribuerade system - Jonny Pettersson, UmU 28 Framtiden The world is never going to be perfect, either on- or offline; so let s not set impossibly high standards for online. - Esther Dyson 5/10-04 Distribuerade system - Jonny Pettersson, UmU 29 Kryptering Kryptografi spelar tre viktiga roller i implementationen av säkra system 1. Konfidentialitet och integritet 2.Autenticering av kommunikationsparterna 3.Digitala signaturer 5/10-04 Distribuerade system - Jonny Pettersson, UmU 30 10
Kryptering - Vad är det? En samling komplicerad matte Om du ska använda kryptering på ett nytt sätt läs mycket! En kärnteknologi i cyberspace Intesvaretpåallasäkerhetsproblem Men, en nödvändig del 5/10-04 Distribuerade system - Jonny Pettersson, UmU 31 Klassificering Kryptografiska system kan klassificeras längs tre oberoende dimensioner 1. Antal använda nycklar 2.Typen av operationer som används i krypterings- och dekrypteringsalgoritmerna 3. Hur klartexten processas 5/10-04 Distribuerade system - Jonny Pettersson, UmU 32 Kryptografiskt system Fem delar Om K 1 == K 2 Symmetrisk kryptering Om K 1 K 2 Asymmetrisk kryptering Nyckel K 1 Nyckel K 2 Klartext Kryptotext Krypteringsalgoritm Dekrypteringsalgoritm Klartext 5/10-04 Distribuerade system - Jonny Pettersson, UmU 33 11
Processning Stream - Ett tecken åt gången Kort input lång output (nyckelström) Undvik att använda samma nyckel igen Om M 1 + K = C 1 och M 2 + K = C 2 C 1 C 2 = M 1 M 2 Användettfrö Block - En grupp av tecken åt gången Fix blockstorlek 5/10-04 Distribuerade system - Jonny Pettersson, UmU 34 Kryptoanalys Kryptoanalys är att försöka hitta klartexten eller en nyckel Olika attacker Endast kryptotext Känd klartext Vald klartext Vald kryptotext Vald klartext/kryptotext Related key attack Brute-force 5/10-04 Distribuerade system - Jonny Pettersson, UmU 35 Symmetriska algoritmer Design av symmetriska algoritmer Baserad på informationsteori Confusion Addera okända nyckelvärden Diffusion Sprid ut klartextens information i hela kryptotexten Tar bort repetitioner och redundans SP-nätverk Substition och Permutation 5/10-04 Distribuerade system - Jonny Pettersson, UmU 36 12
Design symmetriska algoritmer Tre krav Chiffret måste vara tillräckligt brett Chiffret måste ha tillräckligt många rundor S-boxarna måste väljas bra Attacker Linjär kryptoanalys Differential kryptoanalys Poäng Ta en gammal beprövad 5/10-04 Distribuerade system - Jonny Pettersson, UmU 37 Symmetriska Samma nyckel för krypt och dekrypt Krav Med både klartext och motsvarande kryptotext ska inte nyckeln kunna tas fram Nyckeln måste distribueras och förvaras säkert Algoritmen måste vara bra Nycklar måste kunna bytas Hemligheten ska ligga i nyckeln ej i algoritmen Ger konfidentiell och identifierbar kommunikation, men ej autenticering 5/10-04 Distribuerade system - Jonny Pettersson, UmU 38 Symmetriska (2) Låt F K ([M]) = E(K,M) då ska F K ([M]) vara lätt att beräkna medans inversen, F K -1 ([M]), ska vara komputationellt svårberäknad Ska bero av nyckellängd (endast brute-force) Algoritmer AES, DES, 3-DES, IDEA, TEA, Blowfish 5/10-04 Distribuerade system - Jonny Pettersson, UmU 39 13
Olika typer av användning Hur man använder en krypteringsalgoritm är viktigare än vilken man väljer Electronic Code Book Varje block oberoende av varandra Cipher Block Chaining XOR, initialiseringsvektor (IV) Output Feedback Upprepade kryptering av IV nyckelström 5/10-04 Distribuerade system - Jonny Pettersson, UmU 40 Olika typer av användning (2) Forts varianter Counter Encryption K i = {IV + i}k Mindre kostsamt än Output Feedback Mindre känsligt för födelsedagsattack (cykellängd: 2 n ) Cipher Feedback, CFB Självsynkroniserande stream cipher En av output-bitarna adderas till nästa klartextbit Message Authentication Code, MAC Använd CBC, spara endast sista output-blocket = MAC Ger integritet och autencitet 5/10-04 Distribuerade system - Jonny Pettersson, UmU 41 One-way hash Enkelriktade hashfunktioner Som ett digitalt fingeravtryck Publika funktioner, inga hemliga nycklar Ger viss autenticering och integritet En säker digest -funktion, h = H(M), ska ha följande egenskaper Givet M, är det lätt att beräkna h Givet h, är det svårt att beräkna M Givet M, är det svårt finna ännu ett M så att H(M) = H(M ) 5/10-04 Distribuerade system - Jonny Pettersson, UmU 42 14
One-way hash (2) Hashvärdet bör vara minst 128 bitar för att skydda mot birthday-attacker Det mest använda kryptoverktyget Algoritmer MD5 (Message Digest 5): Effektiv, 128 bitar Har sprickor SHA (Secure Hash Algorithm): 160 bitar, säkrare (finns även 256- och 512-bitars) 5/10-04 Distribuerade system - Jonny Pettersson, UmU 43 One-way hash - Användning Beräkna MAC HMAC k (M) = h(k A, h(k B, M) A = 0x36 (upprepat), B = 0x5C (upprepat) Tidsstämpla dokument Uppdatera nycklar K i = h(k i-1 ), vid överrenskomna tider Auto keying K i+1 = h(k i, M i1, M i2,...) 5/10-04 Distribuerade system - Jonny Pettersson, UmU 44 Asymmetriska Trap-door funktioner En-vägs funktioner med hemlig utgång Ska vara enkela att beräkna i en riktning men omöjliga, utan hemlighet, i andra riktningen Exempel: Heltalsfaktorisering D(K d, E(K e, M)) = M K d -privat K e -publik Säkerhet beror på nyckellängd och beräkningsmängd Används i krypt/dekrypt, digitala signaturer och för utbyte av symmetriska nycklar (hybridkryptering) 5/10-04 Distribuerade system - Jonny Pettersson, UmU 45 15
Asymmetriska (2) Krav Det ska vara enkelt generera nyckelparet Det ska vara enkelt generera kryptotext med en av nycklarna Det ska vara enkelt att dekryptera med motsvarande nyckel Det ska vara omöjligt att med publik nyckel skapa den privata nyckeln Det ska vara omöjligt att med publik nyckel och kryptotext få fram klartext Algoritmer RSA, ElGamal, Diskreta logaritmer, Elliptiska kurvor 5/10-04 Distribuerade system - Jonny Pettersson, UmU 46 Digitala signaturer För autenticering av meddelanden Två nycklar: privat och publik Kryptera med privat nyckel Algoritmer RSA, ElGamal, DSA Kan användas för non-repudiation Starkare än signatur på pappret 5/10-04 Distribuerade system - Jonny Pettersson, UmU 47 Slumptalsgenerering Måste ge tal som är oförutsägbara och som inte går att reproducera Inget krav på fullständig slumpmässighet Ofta någon form av initiering (seed) 5/10-04 Distribuerade system - Jonny Pettersson, UmU 48 16
Kryptografi i sitt sammanhang Varförärintekryptografisvaretpåallt? Kryptografi hör till matematiken och matematik är teori och logik. Den verkliga världen är ej logisk Regler följs ej av mjukvara, maskiner och människor 5/10-04 Distribuerade system - Jonny Pettersson, UmU 49 Närärdetsäkert? Ett kryptografisystem anses vara computationally säkert om en eller båda av följande kriterier är uppfyllda Kostnaden att knäcka chifferet är större än värdet av det skyddade Tiden att knäcka chifferet är längre än livstiden för det skyddade 5/10-04 Distribuerade system - Jonny Pettersson, UmU 50 Säker nyckellängd Nyckellängden har oftast inte med säkerheten att göra Är den tillräckligt lång räcker det Två problem Kvaliténpånyckeln Kvalitén på algoritmen Begreppet entropi 5/10-04 Distribuerade system - Jonny Pettersson, UmU 51 17
Säker nyckellängd (2) Första problemet: Källan för nycklarna Slumptalsgeneratorer ej perfekta Password-entropi Dictionary -attack Skydd av nyckel med password? Andra problemet: Kvalitén på algoritmen Använd beprövade 5/10-04 Distribuerade system - Jonny Pettersson, UmU 52 Hur praktisk är kryptering Måste vara effektivt för de goda Kostnaden för de goda ökar linjärt med nyckellängd Kostnaden för de onda ökar exponentiellt med nyckellängd =>Utvecklingen av beräkningshastighet är bra för de goda 5/10-04 Distribuerade system - Jonny Pettersson, UmU 53 Val av algoritm Svårt, finns inga absoluta svar Bara för att du inte knäckt algoritmen betyder det inte att den är säker Den som skapar en krypteringsalgoritm är antingen geni eller idiot Det betyder inte att allt nytt är dåligt, men att allt nytt är misstänkt 5/10-04 Distribuerade system - Jonny Pettersson, UmU 54 18
Autenticering Användaridentifiering Kunskap - Något man känner till Tillhörighet - Något man har Egenskap - Något man är För säkrare kombinera 2 eller 3 Säkrare 5/10-04 Distribuerade system - Jonny Pettersson, UmU 55 Något man känner till Betyder för det mesta passwords Ofta grund för säkerheten Många passwords blir det Psykologiska problem Social Engineering Operationella frågor 5/10-04 Distribuerade system - Jonny Pettersson, UmU 56 Passwords System grejor Om ett sätt att använda password är okej, beror på typ av attack det ska skydda mot Riktad attack mot ett konto Komma åt något konto på ett system Komma åt något konto i något system DoS Multilateral säkerhet Kan användare tränas och vara disciplinerade? Använda samma password på flera ställen? 5/10-04 Distribuerade system - Jonny Pettersson, UmU 57 19
Password-attacker Titta över axeln Avlyssning Falskt log-on program Loggar Stöld av password-databasen On-line gissning Off-line gissning 5/10-04 Distribuerade system - Jonny Pettersson, UmU 58 Password guessing Humans are incapable of securely storing highquality cryptographic keys, and they have unacceptable speed and accuracy when performing cryptographic operations. They are also large, expensive to maintain, difficult to manage, and they pollute the environment. It is astonishing that these devices continue to be manufactured and deployed, but they are sufficiently pervasive that we must design our protocols around their limitations Network Security: Private Communication in a Public World 5/10-04 Distribuerade system - Jonny Pettersson, UmU 59 Något man har Passiva enheter Fysisk nyckel Magnetkort(Kapitel19.3, 19.4) Smart cards (Kapitel 14.6) PIN aktiverat minne Specialläsare Krypto på kort Hemligheten behöver aldrig lämna kortet 5/10-04 Distribuerade system - Jonny Pettersson, UmU 60 20
Något man är Biometriska enheter Signaturverifierare Ansiktsscanner Fingeravtrycksläsare Ögonscanner Röstigenkännare 5/10-04 Distribuerade system - Jonny Pettersson, UmU 61 Biometri Problem Noice, collusion, false repudiation, statistik, individuella skillnader, religon, Begränsningar Dyra Användarna gillar dem inte Ej användbart för nätverksautenticering Funkar bäst som komplement (bemannade) Avskräckande användning är bra 5/10-04 Distribuerade system - Jonny Pettersson, UmU 62 Sammanfattning av dagen Introduktion till säkerhet Kryptering Autenticering 5/10-04 Distribuerade system - Jonny Pettersson, UmU 63 21
Nästa gång Nyckelhantering och distribution Symmetriska nycklar Asymmetriska nycklar Digitala Certifikat PKI - Public Key Infrastructure Säkerhetsprotokoll 5/10-04 Distribuerade system - Jonny Pettersson, UmU 64 22