Säkerhetsprotokoll och säkra protokoll Kerberos distribuerad authenticering SSL säker överföring SSH icke-distribuerad authenticering Sec säker överföring SET säker betalning 1
Distribuerad autenticering à la Kerberos: Klient X 1. Request for TGS ticket 2. Ticket for TGS 3. Request for Server ticket 4. Ticket for Server 5. Request for service 1 6 2 4 5 3 Key Distribution Center Ticket Granting Server Server 2
Ett protokoll utvecklat av Netscape för kommunikation mellan två parter. Applikation TCP Applikation SSL TCP Skapar en ny gränsyta för programmeraren. Lägger på ett nytt socketlager på existerande, uppkopplade, sockets. www.openssl.org 3
Secure Shell - SSH Istället för telnet, rsh, rlogin, ftp Säkerhet på applikationsnivå (och transportnivå) Kom ihåg: Kerberos: servicenivå (shell, fil, databas, ) SSH: applikationsnivå (shell i första hand) Telnet SSH TCP TCP 4
5 SSH Version 1.2.25 [mips-sgi-irix5.3], protocol version 1.5. Standard version. Does not use RSAREF.... uran: Connecting to nisse [x.x.x.x] port 22. uran: Allocated local port 1023. uran: Connection established. uran: Remote protocol version 1.5, remote software version 1.2.26 uran: Waiting for server public key. uran: Received server public key (768 bits) and host key (1024 bits). Host key not found from the list of known hosts. Are you sure you want to continue connecting (yes/no)? yes Host nisse added to the list of known hosts. uran: Initializing random; seed file /Home/staff/isak/.ssh/random_seed uran: Encryption type: blowfish uran: Sent encrypted session key. uran: Installing crc compensation attack detector uran: Received encrypted confirmation. uran: Trying rhosts or /etc/hosts.equiv with RSA host authentication. uran: Remote: Rhosts/hosts.equiv authentication refused: client user isak, server user isak, client host uran.cs.umu.se. uran: Server refused our rhosts authentication or host key.... uran: Doing password authentication. isak@nisse s password:... uran: Requesting X11 forwarding with authentication spoofing. uran: Requesting shell. uran: Entering interactive session. Last login: Wed May 10 13:24:21 2000 from uran.cs.umu.se...
Andra inloggningen: SSH Version 1.2.25 [mips-sgi-irix5.3], protocol version 1.5. Standard version. Does not use RSAREF.... uran: Connecting to nisse [x.x.x.x] port 22. uran: Allocated local port 1022. uran: Connection established. uran: Remote protocol version 1.5, remote software version 1.2.26 uran: Waiting for server public key. uran: Received server public key (768 bits) and host key (1024 bits). uran: Host nisse is known and matches the host key.... uran: Doing password authentication. isak@nisse s password:... Last login: Tue May 9 14:48:27 2000 from uran.cs.umu.se 6
Inloggning med nyckel: SSH Version 1.2.25 [mips-sgi-irix5.3], protocol version 1.5. Standard version. Does not use RSAREF.... uran: Received server public key (768 bits) and host key (1024 bits). uran: Host pelle is known and matches the host key.... uran: Trying RSA authentication with key isak@uran uran: Received RSA challenge from server. uran: Sending response to host key RSA challenge. uran: Remote: RSA authentication accepted. uran: RSA authentication accepted by server. uran: Requesting pty. uran: Failed to get local xauth data. uran: Requesting X11 forwarding with authentication spoofing. uran: Requesting shell. uran: Entering interactive session. Last login: Tue Mar 7 14:50:22 2000 from uran.cs.umu.se 7
Tunnling: Shell, X-Windows, lokal portar, fjärrportar Klient Server SSH SSHD + säkra filkopieringsfunktioner 8
Autenticering: Lösenord.rhosts mfl (lita på maskiner, inte på nätverk) Nycklar (lita på maskiner) plug-ins? 9
Versioner: SSH1 Finns flera serverimplementationer (bland annat från OpenBSD), och många klientimplementationer SSH2 Finns två serverimplementationer: lsh och ssh. På väg att bli standard. De är ej kompatibla! SSH har ett visst kommersiellt arv. Protokollet är dock fritt. 10
Ramverk för krypterad Kryptering på -nivå (TCP, UDP, ICMP mfl) Applikation TCP Applikation TCP Applikation TCP sec Applikation TCP sec Applikation SSL TCP 11
Överallt. Istället för SSL, SSH... Bland annat för VPN, Virtual Private Networks: 12
Inte en standard - en uppsättning standards. Bland annat: Authentication Header (AH) (skydd mot impersonation, replays) Encapsulation Security Payload (ESP) (skydd mot eavesdropping) Internet Key Exchange (IKE), Internet Security Association and Key Management Protocol (ISAKMP) mfl. (nyckelhantering) Algoritmer för authenticering och kryptering (och komprimering) 13
Hur kan man implementera sec? sec aware sec aware Antingen i värddatorn (host:en), eller i routern (secure gateway). Transport och/eller tunnling 14
Hur implementera? 1. Nytt -lager Applikation TCP sec 2. sec-lager under existerande lager (bump-in-the-stack) 3. sec i hårdvara (bump-in-the-wire) Fördelar/nackdelar? Applikation TCP sec Applikation TCP sec 15
Transport: modifiera -paket. För paket från/till hosts (och för paket till/från, men ej genom gateways). Exempel på AH resp ESP: UDP/TCP+data UDP/TCP+data UDP/TCP+data sec header Tunneling: paketera -paket. För paket till/från host och till/från/genom gateways. sec header UDP/TCP+data UDP/TCP+data UDP/TCP+data Ny +sec header Ny +sec header 16
Säkerhetskoppling. Kombinationer: Transport adjacency SA1: ESP transport Iterated tunneling SA2: AH transport SA1: tunnel SA2: tunnel 17
Implementerat på : Måste kunna v4 och v6. Nyckeldistribution: Ej hårt specat. Manuellt Automatiskt (publika nycklar, jmfr SSH) Kerberos-style Komprimering Security Policy Database DoS i sec? Fördelar/nackdelar med sec vs. SSH..? 18
Secure Electronic Transaction www.setco.org Protokoll utvecklat av bland annat MasterCard och Visa för elektronisk betalning. (I viss mån utvecklat för att behålla marknadsandelar i den nya ekonomin ) 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 19
Detaljer: Alla parter har certifikat, som kan spåras upp till någon rot. Dubbel signering: Meddelande 1 Meddelande 1 SMD MD 2 Meddelande 2 MD 1 MD MD 2 signera signera Meddelande 2 SMD MD 3 20
Köpare C order Affär M formulär köp auth? bekräftelse auth! leverans betala? betala! Payment Gateway PG Bank 21
Order: Kunden genererar förfrågan och skickar till affären. Formulär: Affären genererar svar, signerar det, lägger till sitt certifikat (M cert ) och PG:s certifikat och skickar till kunden. 22
Köp: Kunden verifierar certifikatet gentemot rotcertifikatet och formuläret. Kunden fyller i orderinfo (OI) och betalningsinstruktioner (PI). Dubbelsignerar dessa. Kunden skapar en symmetrisk nyckel (S1), lägger till betalinfo (kortnummer CN), och krypterar det med PG:s publika nyckel. Kunden krypterar PI med S1. Kunden skickar OI (sign) E(PI (sign), S1) E(S1 CN, PG pub ) C cert till affären 23
Auth? Affären kontrollerar kundens certifikat och dubbelsigneringen av OI. Affären genererar auktoriseringsfråga (AR), signerar den och krypterar med sin privata nyckel. Affären genererar symmetrisk nyckel (S2), krypterar auktoriseringsfrågan med den. Krypterar S2 med PG:s publika nyckel. Affären skickar E(S2, PG pub ) E(S2 AR (sign), S2) E(PI (sign), S1) E(S1 CN, PG pub ) M cert C cert till PG 24
Auth! PG packar upp AR och PI, och kontrollerar dessa mot signaturerna. PG kontrollerar att AR och PI överensstämmer. PG kontrollerar mot banken. PG skapar ett svar (AC), signerar det, genererar symmetrisk nyckel (S3), krypterar svaret med S3, krypterar nyckeln med M:s publika nyckel. PG skapar ett kontrollnummer (CAP), signerar det. PG genererar symmetrisk nyckel (S4), krypterar CAP med S4, krypterar nyckeln tillsammans med CN med PG:s publika nyckel. PG skickar E(S3, M pub ) E(AC (sign), S3) E(S4 CN, PG pub ) E(CAP, S4) P cert till affären 25
Bekräftelse Affären packar upp AC, och kontrollerar den mot signaturen. CAP. Affären Affären generar ett svar till kunden, signerar det och skickar det till kunden. Kunden sparar svaret. Betala?! Affären skickar krypterad och signerad begäran (CAPREQ) till PG, tillsammans med sparad krypterad CAP. PG packar upp CAPREQ och CAP, kontrollerar att de överrensstämmer. PG skickar begäran till bank. PG generar svar på begäran, signerar och krypterar den och skickar till affären. 26