IKEv2 En halvformell analys. Agenda IKEv2 – protokollet i huvuddrag Proverif – bakgrund, funktion Analys – fokus Modell – abstraktioner, förenklingar.

Slides:



Advertisements
Liknande presentationer
F. Drewes, Inst. f. datavetenskap1 Föreläsning 13: Resolution •Resolution i satslogiken •Resolution i predikatlogiken.
Advertisements

Insamling och gallring
Det problemorienterade föräldrasamtalet Hur reagerar du själv när du ska få veta något jobbigt?  Ni kan till exempel föreställa.
FTFs motionsskola.
Vilka källor kan du lita på?
Talföljder formler och summor
Vårdande/stödjande handlingar inom kommunala boenden Delrapport 7
Metodstöd.
Affärsplaner för samhällsentreprenörer?
Access med Sebastian och Robert
En reviderad läroplan för förskolan
Formellt, skarpt och snyggt
Lokalgrupper och temagruppers organisering
Tryck på pil-tangenten höger så startar bildspelet automatiskt.
Introduktion till IT och e-Tjänster Delkurs 3 1 Datorer i Nätverk En introduktion till ’Hård Infrastruktur’ DEL 1.
Trådlös (o)säkerhet Vanliga missuppfattningar Det krävs dyr utrustning Vi har inte trådlös access Vi är säkra för vi använder kryptering Vi är säkra för.
- Vikten av att kunna sälja in sin idé
IT-kompetens Svenska & Engelska. IT-kompetens Svenska & Engelska.
Algoritmer och datastrukturer
Polymorfism.
© Patrick Blackburn, Johan Bos & Kristina Striegnitz FL 7: Cut och negation (kap. 10) Teori –Förklarar hur man kontrollerar Prologs backtracking-beteende.
I taket lyser stjärnorna Johanna Thydell
Ett arbetsområde om poesi
En övning i att analysera ett tal
Prolog PROgramming LOGic (programmation en logique)
Vad är du för typ av person?
Workshop inför Projektet
Källor! Hur gör man egentligen?
© Anders Ingeborn 2002 ”Utblick verkligheten” Gästföreläsning Kryptografins grunder KTH 2002.
Energi- och klimatseminariet uppföljning 2014 Kerstin Angberg-Morgården, 11 juni 2014 Energisamordnare på Länsstyrelsen Dalarna.
Felkalkyl Ofta mäter man inte direkt den storhet som är den intressanta, utan en grundläggande variabel som sedan används för att beräkna det som man är.
Upplägg Förmiddag: Fokus på teorier –Tillsyn –Följsamhet –Implementering Diskussionsövningar i relation till teorierna Eftermiddag: Tillsyn i praktiken.
Frågor om elevinflytande till elever i åk 3 – 9 i grundskolan
Röd zon Grön zon Grön zon Röd zon.
Känna till och ha provat metoder och verktyg för processledning
Uppfattningar om antibiotikaförskrivning bland sjukhusläkare I Björkman, J Berg, M Röing, M Erntell, C Stålsby Lundborg.
Källkritik. Uttryck man bör känna till… Avsändare – den som skickar informationen.. Mottagare – den som tar emot informationen… Syfte – Varför? Skillnad.
Hur gör man en debattartikel?
Skriva noveller.
Kompletterande återkoppling till reflektionsuppgift 2 Sammanfattning av kvalitetsgranskningen.
FORUM 3: PPT material Instruktioner De efterföljande PPT bilderna kommer att guida gruppen igenom Forum 3 med presentationer och övningar steg för steg.
Vad är sant? Vem kan man lita på?
En guide för arbeten i SO
Datorer och privat säkerhet (privacy). Innehåll Handel på internet Risker som en användare utsätt för på internet Hur man skyddar sig från attacker Hur.
© Anders Ingeborn 2000 ”Utblick verkligheten” Gästföreläsning Kryptografins grunder KTH 2000.
Leda Avdelning Leda Kår Ditt Personliga Ledarskap
Leda och planera sokratiska samtal
Maria Kihl och Jens A Andersson Kapitel 8: Säker datakommunikation.
Satslogik, forts. DAA701/716 Leif Grönqvist 5:e mars, 2003.
Formellt, skarpt och snyggt
Föreläsning4 Datasäkerhet. Kryptering Konventionell –En algoritm och en nyckel –Algoritmen behöver inte vara hemlig –Nyckeln måste vara hemligt för alla.
Föreläsning4 Datasäkerhet. Kryptering Konventionell –En algoritm och en nyckel –Algoritmen behöver inte vara hemlig –Nyckeln måste vara hemligt för alla.
Moral och Etik Moraliska frågor berör frågor om vad som är rätt och fel/orätt, ont och gott. Andra vanliga begrepp som använd är bör, plikt och rättvisa.
Frågor om elevinflytande till elever i åk 3 – 9 i grundskolan
Växjö 14 april -04Språk & logik: Finita automater1 DAB760: Språk och logik 14/4:Finita automater Leif Grönqvist Växjö Universitet.
Om denna presentation: Version Denna PPT-presentation tillsammans med det talspråksmanus du hittar i anteckningssidorna är framtaget för att.
Kommunikation.
Vad tycker du? När man diskuterar berättar man vad man tycker om något. När jag tycker något har jag en åsikt. Ett finare ord för att säga något är att.
Olika sätt att resonera kring hur människor bör handla
Vi uppfattar verkligheten på olika sätt
Kommunikationspass Jag heter
Ska Sverige ha dödsstraff eller inte?
Anpassa fri programvara - Frihet ett, hur nyttjar man den? Copyright © 2006, 2007 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla att nyttja.
Källor Ett samarbete mellan svenska och religionskunskap ht- 15.
Konfliktens ABC A Attityd C sakfrågor Motsättningar B Beteende.
Från databas till Excel
Kristian Gustafsson Peter Sundström
Kandidathantering i Reachmee
Tips för bättre kommunikation
? ? ? ! 3 min (30 min ex prat) 35 min Nu ska vi tala om dilemman. Ett äkta dilemma är en svår situation som inte förefaller ha någon.
Presentationens avskrift:

IKEv2 En halvformell analys

Agenda IKEv2 – protokollet i huvuddrag Proverif – bakgrund, funktion Analys – fokus Modell – abstraktioner, förenklingar Resultat

IKEv2 Protokoll att använda i anslutning till IPsec för etablering av ”security association” (SA) mellan två deltagare, Alice och Bob, när dessa vill konversera. Förenkling och förtydligande av IKEv1 Ramverksprotokoll – kryptografiska algoritmer är utbytbara och vilka som används diskuteras under session

IKEv2 - faser I.Etablering av en SA för IKE konversationen. II.Ömsesidig autenticering och etablering av första SA för användande i exempelvis IPsec. III.Etablering av ytterligare SAs, utbyte av kontrollinformation…

IKEv2 – fas I I.Etablering av en SA för IKE konversationen. II.Ömsesidig autenticering och etablering av första SA för användande i exempelvis IPsec. III.Etablering av ytterligare SAs, utbyte av kontrollinformation…

IKEv2 – fas I Alice sänder: Fix IKEv2 header KEa = publikt Diffie-Hellman värde SAa = erbjudna kryptografiska algoritmer Ni = nonsens (nonce) AliceBob Header, SAa, KEa, Ni

IKEv2 – fas I Bob tar emot Alices meddelande, utvärderar erbjudanden vad gäller kryptografiska algoritmer, kontrollerar att KEa är av rätt typ för sitt tänka val samt skapar ett svarsmeddelande. AliceBob Header, SAa, KEa, Ni

IKEv2 – fas I Bob sänder: Fix IKEv2 header KEb = publikt Diffie-Hellman värde SAb = valt erbjudande gällande kryptografiska algoritmer Nb = nonsens (nonce) AliceBob Header, SAb, KEb, Nb

IKEv2 – slut på fas I Efter fas I kan Alice och Bob (som ännu inte är säkra på varandras identiteter) kryptera och integritetsskydda efterföljande faser med hjälp av förhandlade algoritmer och delade nycklar härledda ur Diffie-Hellman hemligheten och utbytt nonsens.

IKEv2 – fas II I.Etablering av en SA för IKE konversationen. II.Ömsesidig autenticering och etablering av första SA för användande i exempelvis IPsec. III.Etablering av ytterligare SAs, utbyte av kontrollinformation…

I beskrivningen betyder SK {abc} att abc är krypterat och integritetsskyddat med förhandlade algoritmer och gemensamma nycklar. Dessutom är resten av meddelandet integritetsskyddat. IKEv2 – fas II

Alice sänder: IDa = sin identitet i lämpligt format AUTHa = ett värde som styrker identiteten och bevisar att Alice var avsändaren i fas I. SAa = som förut, men för ny SA TSIa = trafikspecifikation AliceBob Header, SK{IDa, AUTHa, SAa, TSIa} IKEv2 – fas II

Bob tar emot Alices meddelande, utvärderar erbjudanden vad gäller kryptografiska algoritmer, verifierar identiteten, samt skapar ett svarsmeddelande. AliceBob Header, SK{IDa, AUTHa, SAa, TSIa}

AliceBob IKEv2 – fas II Bob sänder: IDb = sin identitet i lämpligt format AUTHb = ett värde som styrker identiteten och bevisar att Bob var avsändaren i fas I. SAb = som förut, men för ny SA TSIb = trafikspecifikation Header, SK{IDb, AUTHb, SAb, TSIb}

IKEv2 – slut på fas II Efter fas II vet båda parter vem de konverserar med och kan vid framtida meddelandeutbyten vara säkra på att tala ostört, privat och med rätt person.

IKEv2 – fas III I.Etablering av en SA för IKE konversationen. II.Ömsesidig autenticering och etablering av första SA för användande i exempelvis IPsec. III.Etablering av ytterligare SAs, utbyte av kontrollinformation…

Till största delen utlämnat då inte särskilt intressant att studera. Innefattar (krypterade och integritetsskyddade) meddelanden för borttagande och nyskapande av SAs, informationsmeddelanden med mera. IKEv2 – fas III

Proverif Verktyg för automatisk protokollverifiering Uppbackat av ett antal papper Bruno Blanchet huvudperson Verifiering i form av prologliknande härledning utifrån protokollrepresentation Undviker typisk tillståndsrymdsexplosion (à la SPIN) genom ”säkra” antaganden

Proverif – protokollrepresentation Protokollet och attackeraren beskrivs med prologliknande regler: attacker:secret & attacker:ch -> mess:ch, secret ”Om attackeraren känner till secret och ch kan meddelandet secret sändas över kanalen ch” attacker:enc(secret, key) & attacker:key -> attacker(secret) ”Om attackeraren känner till (secret krypterat med key) och key så känner attackeraren också till secret”

Proverif – applied-pi Lyckligtvis kan protokollspecifikationer även ges i en begränsad form av applied-pi, som automatiskt översätts till Proverifs klausulformat.

Proverif - termer Meddelanden och kanaler representeras av termer som är namn, variabler eller funktionsappliceringar av andra termer. Variabler kan representera andra termer. Termer används också för att representera saker som hashning, kryptering och konstanter. I det sista exemplet var ”enc” en funktion/2.

Proverif - reduktioner Termer kan brytas ner enligt givna reduktionsrelationer. Hela sista exemplet är egentligen en Proverif-översättning av relationen: dec(enc(secret, key), key) = secret Typexempel för användandet av reduktionsrelationer är just dekryptering och verifiering av signaturer.

Proverif - termekvivalens Stödet för att uttrycka ekvivalens mellan termer är enligt utsago ”experimentellt”, men tillräckligt funktionellt för att uttrycka exempelvis Diffie-Hellman. (g^i mod p)^r mod p = (g^r modp)^i mod p skulle kunna uttryckas som: xPowYModP(gPowXModP(x), y) = xPowYModP(gPowXModP(y), x).

Proverif – verifiering av protokollegenskaper För att verifiera protokollegenskaper ställer man Proverif en fråga uttryckt som ett faktum, exempelvis: query: attacker(sharedDH). Inte helt olikt förfarandet i Prolog. Vad Proverif sedan gör är att utifrån (översatt) protokollspecifikation försöka härleda faktumet.

Proverif – verifiering av protokollegenskaper 2 För att undvika oändlig sökning, används en annan sökningsmetod än Prologs. Ett par ”säkra antaganden” gör att om en eventuell attack mot protokollet finns, så kommer den att hittas. Men tyvärr ges även vissa falska alarm. Algoritmen för detta har bevisats vara korrekt. Däremot verkar applied-pi översättningen inte vara bevisad korrekt än.

Proverif – övrigt Utöver protokollspecifikation etc. kan parametrar ges för attackerarens beteende (passiv/aktiv), flaggor för att guida Proverifs sökning etc.

Analysfokus I min analys av IKEv2 har jag fokuserat på: Vad en attackerare kan få reda på ur Alice och Bobs konversation Vad (och om) en attackerare kan tänkas påverka utvecklingen annat än genom typisk DOS.

Analysförbiseende … samt utelämnat: Faktiska algoritmer för kryptering/integritetskontroll DOS skydd (cookies) Med mera med mera…

Analys - specifika frågor Kan en attackerare ändra något innehåll i de första meddelandena (fas I och II) utan att det märks och på så sätt förändra exempelvis förhandlingarna (till det sämre) Kan en attackerare avläsa Alices och/eller Bobs identitet? Kan vi bevisa att om Bob efter fas I och II tar emot ett krypterat meddelande som verifierar ok, så är det Alice som har skickat det, och i det skick det skickades. Ovan, fast vice versa för Alice.

Analys - specifika frågor 2 Om en attackerare inte omärkt kan påverka den inledande förhandlingen om IKE SA (fas I och II) och inte heller omärkt kan påverka den efterföljande konversationen, tycker jag det är befogat att säga att IKEv2 är någorlunda säkert mot attackerare. Det är motivationen bakom analysen och modellen.

Modell Modellen motsvarar en ytterst stympad version av IKEv2. Bland saker som utlämnats kan nämnas: Versionsnummer Certifikat och alternativa autenticeringsmetoder Felmeddelanden CREATE_CHILD_SA och INFORMATIONAL meddelanden (efter fas II) ”Faktisk” betydelse av algoritmer, trafikspecifikationer, …

Resultat Kan en attackerare ändra något innehåll i de första meddelandena (fas I och II) utan att det märks och på så sätt förändra förhandlingarna (till det sämre)? Nej. Om den första SAn etableras är det med de ”bästa” ursprungliga parametrarna.

Resultat 2 Kan en attackerare avläsa Alices och/eller Bobs identitet? (egentligen: kan en attackerare läsa meddelandena i fas II) Attackeraren kan låtsas vara Bob i den första fasen och därmed läsa hela Alices meddelande (inkl. identitet)

Resultat 3 Kan vi bevisa att om Bob efter fas I och II tar emot ett krypterat meddelande som verifierar ok, så är det Alice som har skickat det, och i det skick det skickades. Ja (aber annan modell).

Resultat 4 Föregående, fast vice versa för Alice Ja (aber annan modell).

Relevans Stämmer egenskaperna bestämda ovan även för en riktig minimal implementation av IKEv2?