Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering



Relevanta dokument
Grundfrågor för kryptosystem

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

Protokollbeskrivning av OKI

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

Säker e-kommunikation

Modul 3 Föreläsningsinnehåll

Metoder för sekretess, integritet och autenticering

Krypteringteknologier. Sidorna ( ) i boken

SSL/TLS-protokollet och

Föreläsningens innehåll. Säker kommunikation - Nivå. IPSec. IPSec - VPN. IPSec - Implementation. IPSec - Består av vad?

DNSSEC och säkerheten på Internet

Introduktion till protokoll för nätverkssäkerhet

256bit Security AB Offentligt dokument

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

Datasäkerhet. Petter Ericson

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller

Säkerhet. Säker kommunikation - Nivå. Secure . Alice wants to send secret message, m, to Bob.

SSEK Säkra webbtjänster för affärskritisk kommunikation

Riktlinjer för informationssäkerhet

Metoder för datasäkerhet. Vad handlar en sådan kurs om???

Metoder för datasäkerhet. Vad handlar en sådan kurs om???

uran: Requesting X11 forwarding with authentication uran: Server refused our rhosts authentication or host

E-legitimationer. Jonas Wiman. LKDATA Linköpings Kommun.

Föreläsning 7. DD2390 Internetprogrammering 6 hp

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

Rutin vid kryptering av e post i Outlook

Internetdagarna NIC-SE Network Information Centre Sweden AB

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

Filleveranser till VINN och KRITA

SSL. Kristoffer Silverhav Robin Silverhav

Försättsblad till skriftlig tentamen vid Linköpings Universitet

DNSSec. Garanterar ett säkert internet

Föreläsning 10. Grundbegrepp (1/5) Grundbegrepp (2/5) Datasäkerhet. olika former av säkerhet. Hot (threat) Svaghet (vulnerability)

Grundläggande kryptering & chiffer

Cipher Suites. Rekommendationer om transportkryptering i e-tjänster

Förra gången. Dagens föreläsning. Digitala Certifikat. Vilka man litar på! X.509. Nyckeldistribution. Säkerhetsprotokoll

Tekn.dr. Göran Pulkkis Överlärare i Datateknik. Nätverksprotokoll

PGP håller posten hemlig

Security Target (ST) för The Secure Channel (server)

Din manual NOKIA C111

LABORATIONSRAPPORT Säkerhet & Sårbarhet VPN

2D1395 Datasäkerhet Lösningar till tentamen

RIV Tekniska Anvisningar Kryptografi. Version ARK_

Vad är DNSSEC? Förstudie beställd av II-stiftelsen

Internetsäkerhet. banktjänster. September 2007

Riktlinjer för informationssäkerhet

Kryptoteknik. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Förra gången. Dagens föreläsning. Digitala Certifikat. Nyckeldistribution. Säkerhetsprotokoll

Säker lagring av krypteringsnycklar

Vad man vill kunna göra. Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för

Identifiering och autentisering. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet

Kryptering. Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin

Krypteringstjänster. LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober Joakim Nyberg ITS Umeå universitet

Kryptering. Krypteringsmetoder

Identity Management i ett nätverkssäkerhetsperspektiv. Martin Fredriksson

Datum: Version: Författare: Christina Danielsson Senast ändrad:

Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet. Säkerhet. Grundbegrepp (1/5) Modern telekommunikation

Hot mot nyckelhantering i DNSSEC och lite om hur man undviker dem. Anne-Marie Eklund Löwinder Kvalitets- och säkerhetschef

Anmälan om att du har fått ett säkert e-postmeddelande

DNSSEC DET NÄRMAR SIG...

Om du misstänker att värdens privata nyckel har manipulerats kan du skapa en ny genom att utföra följande steg:

Försöksnomineringssystem 2013

Signering av.se lösningar och rutiner. Anne-Marie Eklund Löwinder Kvalitets- och säkerhetschef

RSA-kryptering och primalitetstest

Test av kryptobiblioteket

Jakob Schlyter

Attacker och skyddsmöjligheter Situationen i dagens datormiljö

Grunderna i PKI, Public Key Infrastructure

Kryptering. Wearable Computers D 10p. Namn: Josef Israelsson Datum: Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson

Handbok KGpg. Jean-Baptiste Mardelle Rolf Eike Beer Översättare: Stefan Asserhäll

KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET. Carl Önne carl.onne@certezza.net

WEB SERVICES-FÖRBINDELSE

Instruktion för elektronisk signering av dokument

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info:

Säkra trådlösa nät - praktiska råd och erfarenheter

Säkerhetsbrister & intrång

Kapitel 10, 11 o 12: Nätdrift, Säkerhet. Publika telenätet. Informationsöverföring. Jens A Andersson. Telenäten är digitala.

Säkerhet. Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

F5 Exchange Elektronikcentrum i Svängsta Utbildning AB

Driftsättning av DKIM med DNSSEC. Rickard Bondesson Examensarbete

MA2047 Algebra och diskret matematik

Ändringar i utfärdande av HCC Funktion

Policy Underskriftstjänst Svensk e-legitimation

Handbok kundwebb för kunder Innehållsförteckning

Elektroniska signaturer - säker identifiering?

Probably the best PKI in the world

Praktisk datasäkerhet (SäkB)

Foto: Björn Abelin, Plainpicture, Folio bildbyrå Illustrationer: Gandini Forma Tryck: Danagårds Grafiska, 2009

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1.

Slutrapport om det europeiska rättsliga nätverkets telekommunikationer

5. Internet, TCP/IP tillämpningar och säkerhet

Telia Centrex IP Administratörswebb. Handbok

En övergripande bild av SITHS

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Säkerhet


Alternativ för implementation

Blockkedjeteknikens fördelar och framtidens utmaningar I datahantering. Andreas de Blanche

Transkript:

Att använda kryptering Nyckelhantering och protokoll som bygger på kryptering 1

Nyckelhantering Nycklar måste genereras på säkert sätt Nycklar måste distribueras på säkert sätt Ägaren av en nyckel måste vara säkerställd Nycklar måste förvaras säkert Gamla nycklar måste förstöras på kontrollerat sätt 2

Nyckelgenerering Attackmöjligheter för uttömmande sökning för en nyckel avgörs dels av hur många nyckelvärdena kan vara, dels av hur sannolika de är Använda så äkta slump som möjligt! Låt inte kännedom om tiden för genereringen eller värdet för föregående nycklar bli en ledtråd till nyckelns värde! 3

Äkta slump??? Slumpgeneratorer i datorer är konstruerade för att ge statistisk rektangulärfördelning, inte för att hindra att man förutsäger nästa värde utifrån kännedom om tidigare värden Tiden som slumpkälla ger liten sökrymd, om man vet ungefär när nyckeln skapades Att kryptera eller enkelriktat transformera en kedja av värden fungerar bara om kedjans frö inte kan hittas med uttömmande sökning 4

Nyckelförvaring En normal dators lagringsutrymmen är sårbara för attacker via säkerhetshål, trojaner, medvetet inlagda bakdörrar o s v Ett aktivt kort eller en kod-dosa är därför säkrare än en app eller allmänt program för kryptering och signering 5

Förstöring av gamla nycklar Om man slarvar med gamla nycklar möjliggörs två typer av attacker: Läsning av gamla data, som fortfarande är hemliga Förfalskning av dokument, som förvaras så att genereringsdatum bara framgår av dokumentets innehåll 6

Återstår två problem Att distribuera nycklar, så att endast avsedd användare har deras värde Att säkerställa vem som har vilken nyckel, så att man t ex inte luras att använda nyckeln till man-in-themiddle i stället för till avsedd mottagare 7

Nyckeldistribution Säker första nyckel vid kontakt med en ny miljö levereras via kurir (människa). Via nätet/dator ger möjlighet att fuska!!! Dagens webbläsare levereras med vissa säkra nycklar, där falska värden förutsätts upptäckas När du en gång fått en säker nyckel, kan den användas för att utbyta nya nycklar Om A delar en nyckel med B och B delar en nyckel med C, kan A och C utbyta en nyckel via B (förutsatt att båda litar på B) 8

Nyckelutbytesnycklar Alice Alice,Bob,E(K 1 ; K 2 ) Bob K 1 K 1 Alice Alice,Bob,E(K 2 ; M) Bob K 1 K 1 K 2 K 2 9

Nyckeldistributionscentral En kuriröverförd nyckel per medlem Centralen har alla medlemmars nycklar Mycket känslig punkt för både sekretesshot och dataintegritetshot Centralen förmedlar nycklar vid nya förbindelser mellan medlemmar 10

Nyckeldistributionscentral Nyckeldistributionscentral {K i } Alice K A Bob K B 11

Nyckeldistributionscentral 1 Nyckeldistributionscentral {K i } Alice 1: A, E(K A ;A, B, K AB ) 2: E(K B ;A, B, K AB ) Bob K A K AB K B 12

Nyckeldistributionscentral 2 1: Req, A, B Alice K A Nyckeldistributionscentral {K i } 2: E(K A ;A, B, K AB ) K AB 2: E(K B ;A, B, K AB ) Bob K B 13

Sessionsnycklar Nyckeldistributionscentral {K i } Alice A,B,E(K AB ; K Session1 ) Bob K A K AB K B K AB 14

Öppen nyckeldistribution Varje användare har en hemlig parameter X i Det finns en enkelriktad funktion F Varje användare publicerar F(X i )=Y i Det finns en enkelriktad funktion G sådan att G(X s,f(x t ))=G(X t,f(x s )) för alla s och t Användare s beräknar K st =G(X s,y t ) och användare t beräknar K ts = G(X t,y s ), som är deras nyckel 15

Exempel: Diffie-Hellman En generator g och ett mycket stort primtal p väljs och publiceras Varje användare väljer ett hemligt x Alla användare publicerar y=g x modulo p För att skapa en nyckel delad med användare i, tar du ditt hemliga x och det offentliga y i och beräknar y i x modulo p (g a ) b = g ab = g ba = (g b ) a 16

Öppen nyckeldistribution Nyckelparametercentral {Y i } 1: Y B 2: Y A Alice 3:A,B,E(K AB ; K Session1 ) Bob X A K AB X B K AB 17

Asymmetrisk kryptering Varje användare har ett nyckelpar, en publik nyckel e, en hemlig nyckel d e är en enkelriktad funktion av d eller så har de beräknats med en enkelriktad transformation från en gemensam rot Vid fallet med gemensam rot talar vi om lönndörrssystem (engelska trapdoor, som inte här betyder fallucka ) Det finns två enkelriktade funktioner f och g sådana att g(d,f(e,x)=x 18

Publika nycklar Register för publika nycklar {e i,n i } 1: e B,n B Alice d A,n A 2:A,B,E(e B ; K Session1 ) Bob d B,n B 19

Nyckelregister, alltså??? Ingen instans kan ha resurser för att hålla ett säkert register för alla internet-anslutnas nycklar. (Hur skulle kontrollen ske på garanterat säkert sätt att nyckeln som anges tillhöra lilla webbutiken A verkligen tillhör A?) Ett sådant register fungerar inte heller på huvuddomän-nivå. Så vi har lokala register eller frågar den anropade direkt. Men kan vi lita på svaret? 20

Man-in-the-middle Alice vill kontakta Bob. Alice och Bob har ingen tidigare kontakt Eve sätter sig mitt emellan. Hon sänder sin öppna nyckel till Alice, som skickar en sessionsnyckel krypterad med Eves nyckel. Eve skickar en sessionsnyckel till Bob med hans öppna nyckel Alla meddelanden mellan Alice och Bob dekrypteras av Eve, krypteras om och sänds vidare. Alice och Bob märker ingenting 21

Den centrala frågan: Vems är nyckeln? Om du använder en symmetrisk nyckel, så ska distributionen säkerställa vem du delar den med Om du får en publik nyckel, hur vet du säkert vem som har motsvarande privata nyckel? Svar: Du har ett signerat meddelande med innehållet Jag A garanterar att användare B har publik nyckel X från tidpunkt y till tidpunkt z Detta kallas (nyckel-)certifikat För att kontrollera certifikatets äkthet, behöver du signerarens garanterat äkta publika nyckel... 22

CA Den som utfärdar nyckelcertifikat kallas Certificate Authority, CA En CA kan vara organisationsintern, nationell, internationell o. s. v. CA måste kontrollera identiteten för den användare som har den privata nyckeln, innan certifikatet utfärdas Detta kan antingen göras genom en tillitskedja eller utanför datorerna med papper och närvaro 23

PKI Standarder för att hantera publika nycklar kallas PKI, Public Key Infrastructure Dessa standarder förutsätter existensen av godkända CA och tillitskedjor Vi använder ofta asymmetrisk kryptering, till exempel, i SSL/TLS, men PKI med tillit är svår att bygga upp 24

Protokoll, exempel IPSec SSL/TLS SSH 25

IPSec Ger möjlighet till kontroll av dataintegritet och skydd av sekretess för själva paketinnehållet Bygger på att parametrar, som algoritmtyp, nyckelvärde etc. redan utbytts och fått ID (Security Association) Dataintegritet skyddas genom digital signatur eller MAC Sekretesskydd består av kryptering Kräver DES CBC, stöder andra algoritmval 26

IPSec SA Skapas genom meddelanden i annan särskild standard, IKEv2, Internet Key Exchange Definierar vilka algoritmer som används och vilka nycklar Använder Diffie-Hellman som default för att sätta upp nyckel, men kan använda andra utbytesalgoritmer också 27

SSL/TLS Placerat mellan normal TCP och applikation Session inleds med handskakning, då symmetrisk sessionsnyckel skapas och utbyts. Resten av sessionen krypteras med denna nyckel Stöder asymmetrisk kryptering och certifikat för utbytet av sessionsnyckeln Stöder olika algoritmer, men har ingen som måste finnas i alla implementationer Vilken algoritm m m som används bestäms under handskakningen 28

SSH Ursprungligen ett UNIX-kompatibelt protokoll för säker login mot remote services Idag ett vanligt protokoll i allmänhet för t. ex. kryptering av lösenord vid login, upprättande av krypterad förbindelse o s v Använder asymmetrisk kryptering eller öppen nyckeldistribution (Diffie-Hellman) och certifikat för att skapa/utväxla nycklar vid login 29

Och vad är tunnling, VPN o s v? Tunnling dök upp som term då man började lägga till kryptering av ett helt färdigt paket innan det nådde nästa nivå i protokollstacken för kommunikationen, utan att ändra protokollen i sig i övrigt VPN blev försäljningsterm för att man har organisationsinterna nycklar och automatiskt krypterar allt som kommuniceras mellan egna enheter 30

Tillitskedjor och Single sign-on Antag att B delar en nyckel med A och en annan med C, och både A och C litar på B B kan nu skicka en gemensam krypterad nyckel till både A och C, samt meddela dem krypterat vem som också har denna nyckel (C respektive A) Både A och C vet nu att meddelanden krypterade med denna nyckel kommer säkert från C respektive A, för B fuskar inte Kerberos bygger på detta 31

Kerberos Den centrala servern krypterar aktuell tid och en sessionsnyckel K med den påstådda användarens lösenord. Bara avsedd användare vet det dekrypterande lösenordet och kan därmed få sessionsnyckelns värde,. Tiden avslöjar försök att återanvända gamla, knäckta nycklar Servern skapar också en biljett, som talar om för begärd tjänst att användare A har nyckel K. Biljetten krypteras med tjänstens nyckel. Nu kan också tjänsteservern få fram värdet på K. 32

Kerberos säkerhetslogik Biljetterna krypteras med en nyckel, som bara avsedd mottagande del i Kerberos känner till. Biljetten innehåller användarens identitet, sessionsnyckel, giltighetstid för nyckeln o s v. Den enhet, som skapade biljetten, förutsätts ha sänt dels sessionsnyckeln, dels biljetten till den användare, som nu anropar tjänsten Anrop av tjänst, som påstås komma från användaren, vars namn finns i biljetten, och som åtföljs av data krypterade med sessionsnyckeln i biljetten är då godkända 33

Kerberos struktur Det finns fyra sorters aktörer: Användaren, Kerberosservern, biljettservrar och tjänsteservrar. Kerberosservern kontrollerar användarens identitet Biljettservrar kontrollerar att användaren har en giltig biljett från nivån ovanför, samt skapar sessionsnycklar och utfärdar biljetter för nivån under, förutsatt att användaren får anropa begärd tjänst. Tjänstesevern är den som har skyddade data, men som inte ska behöva göra egen användarautentisering 34

Tillitskedjan i Kerberos Tjänsteservrarna litar på att den som känner till biljettens sessionsnyckel är den vars identitet står i biljetten, eftersom biljettservrarna ser till detta. Biljettservrarna litar på att den som känner till sessionsnyckeln i den biljett de får är den användare som står i biljetten, eftersom Kerberosservern ser till detta Kerberos ser till att biljetter bara kan utnyttjas av den som har korrekt lösenord och därför kan dekryptera sessionsnyckeln. Så den som har giltig tjänstebiljett är den som vet rätt värde för identitetens lösenord 35

Grunden för tillit i Kerberos Varje nyckel är känd av endast två parter. Mottagaren är den ena parten, och eftersom avsändaren kunde skapa ett meddelande med denna nyckel, så är tydligen avsändaren den andra av de två Pålitliga parter högre upp i strukturen ser till att sessionsnycklar bara kan dekrypteras av rätt användare (den vars identitet står i biljetten) Biljetter försäkrar vem denna användare är. Varje biljettutfärdande inleds med utväxling av tidsdata och deras krypterade värde, så inspelade sessioner är värdelösa för förfalskare 36

Så Kerberos är ett krypteringsprotokoll? Kerberos i sig innehåller inget stöd för fortsatt användning av sessionsnyckeln för större datamängder Men självfallet hindrar inget parterna från att använda den förhoppningsvis säkra nyckel de nu ändå har fått genom Kerberos 37