Kryptologi 101 (og lidt om PGP) @jchillerup #cryptopartycph, 25. januar 2015 1 / 27
Hvad er kryptologi? define: kryptologi En gren af matematikken, der blandt andet handler om at kommunikere sikkert over en usikker kanal. 2 / 27
Hvad er kryptologi? define: kryptologi En gren af matematikken, der blandt andet handler om at kommunikere sikkert over en usikker kanal. define: kryptografi Anvendt kryptologi. 2 / 27
Hvad er kryptologi? define: kryptologi En gren af matematikken, der blandt andet handler om at kommunikere sikkert over en usikker kanal. define: kryptografi Anvendt kryptologi. 2 / 27
Hvad er kryptologi ikke? privatliv hemmelighedskræmmeri 3 / 27
Hvem bruger kryptografi? Banker Erhverv Regeringer Efterretningstjenester Politi Militær DVD- og BluRay-skiver Almindelige hjemmesider på internettet (HTTPS) Kreditkortbetalinger på nettet og i butikker Centrallåsen på din bil 4 / 27
Symmetrisk kryptologi Alice og Bob har på forhånd aftalt en hemmelig nøgle (et tal), som de bruger til at kryptere deres kommunikation. 5 / 27
Symmetrisk kryptologi Alice og Bob har på forhånd aftalt en hemmelig nøgle (et tal), som de bruger til at kryptere deres kommunikation. Eve får ikke noget ud af at lytte fordi hun ikke kender den hemmelige nøgle. 5 / 27
Asymmetrisk kryptologi 1 Alice og Bob har hver to nøgler: En offentlig nøgle En privat nøgle 6 / 27
Asymmetrisk kryptologi 1 Alice og Bob har hver to nøgler: En offentlig nøgle En privat nøgle 2 De to nøgler hænger sammen, sådan at alt hvad der krypteres med den offentlige nøgle, kan dekrypteres med den private nøgle. 6 / 27
Asymmetrisk kryptologi 1 Alice og Bob har hver to nøgler: En offentlig nøgle En privat nøgle 2 De to nøgler hænger sammen, sådan at alt hvad der krypteres med den offentlige nøgle, kan dekrypteres med den private nøgle. 3 Bob lægger den offentlige nøgle op på sin hjemmeside og Alice henter den. 6 / 27
Asymmetrisk kryptologi 1 Alice og Bob har hver to nøgler: En offentlig nøgle En privat nøgle 2 De to nøgler hænger sammen, sådan at alt hvad der krypteres med den offentlige nøgle, kan dekrypteres med den private nøgle. 3 Bob lægger den offentlige nøgle op på sin hjemmeside og Alice henter den. 6 / 27
Signering Digitale signaturer Hvis man krypterer med sin private nøgle, så kan alle, der har den offentlige nøgle, dekryptere det. Derved kan de være sikre på at det dekrypterede blev krypteret med den tilsvarende private nøgle. 7 / 27
Sikkerhed Sikkerheden i kryptologi består af én af to ting: 1 Uforholdsmæssigt mange nøgler 2 Et matematisk hårdt problem 8 / 27
Sikkerhed Sikkerheden i kryptologi består af én af to ting: 1 Uforholdsmæssigt mange nøgler 2 Et matematisk hårdt problem Det sker, at der kommer angreb imod kryptografiske algoritmer, således at de svækkes. 8 / 27
Sikkerhed Sikkerheden i kryptologi består af én af to ting: 1 Uforholdsmæssigt mange nøgler 2 Et matematisk hårdt problem Det sker, at der kommer angreb imod kryptografiske algoritmer, således at de svækkes. Dog er det aldrig så slemt, at man som almindelig bruger behøver at tage sig af det. 8 / 27
Kryptologi kan knækkes hvis bare man er klog nok 1 De mennesker, der ved mest om kryptologi i hele verden, sidder og prøver netop dét hver eneste dag. 9 / 27
Kryptologi kan knækkes hvis bare man er klog nok 1 De mennesker, der ved mest om kryptologi i hele verden, sidder og prøver netop dét hver eneste dag. 2 Man udfaser en algoritme, hvis der er det mindste antræk til at den kunne være svækket i en grad, der gør en målbar forskel for den stærkest tænkelige modstander. 9 / 27
Kryptologi kan knækkes hvis bare man er klog nok 1 De mennesker, der ved mest om kryptologi i hele verden, sidder og prøver netop dét hver eneste dag. 2 Man udfaser en algoritme, hvis der er det mindste antræk til at den kunne være svækket i en grad, der gør en målbar forskel for den stærkest tænkelige modstander. 3 Der findes algoritmer, der ikke er nævneværdigt svækket siden 90 erne. 9 / 27
Kryptologi kan knækkes hvis bare man er klog nok 1 De mennesker, der ved mest om kryptologi i hele verden, sidder og prøver netop dét hver eneste dag. 2 Man udfaser en algoritme, hvis der er det mindste antræk til at den kunne være svækket i en grad, der gør en målbar forskel for den stærkest tænkelige modstander. 3 Der findes algoritmer, der ikke er nævneværdigt svækket siden 90 erne. (Det er dem vi bruger) 9 / 27
Kryptologi kan knækkes med store computere 2 256 10 / 27
Kryptologi kan knækkes med store computere 115792089237316195423570985008687907853 269984665640564039457584007913129639936 11 / 27
Kryptologi kan knækkes med store computere Tankeeksperiment Forestil dig en supercomputer, der kan prøve én milliard nøgler i sekundet (det er ret mange). 12 / 27
Kryptologi kan knækkes med store computere Tankeeksperiment Forestil dig en supercomputer, der kan prøve én milliard nøgler i sekundet (det er ret mange). Forestil dig så, at hvert sandkorn på jorden er sådan en computer. 12 / 27
Kryptologi kan knækkes med store computere Tankeeksperiment Forestil dig en supercomputer, der kan prøve én milliard nøgler i sekundet (det er ret mange). Forestil dig så, at hvert sandkorn på jorden er sådan en computer. Der er 7,5 10 18 sandkorn på jorden (cirka). 12 / 27
Kryptologi kan knækkes med store computere Tankeeksperiment Forestil dig en supercomputer, der kan prøve én milliard nøgler i sekundet (det er ret mange). Forestil dig så, at hvert sandkorn på jorden er sådan en computer. Der er 7,5 10 18 sandkorn på jorden (cirka). 2 256 nøgler 7,5 10 18 sandkorn 10 9 nøgler/sek = 4,9 1041 år 12 / 27
Kryptologi kan knækkes med store computere Tankeeksperiment Forestil dig en supercomputer, der kan prøve én milliard nøgler i sekundet (det er ret mange). Forestil dig så, at hvert sandkorn på jorden er sådan en computer. Der er 7,5 10 18 sandkorn på jorden (cirka). 2 256 nøgler 7,5 10 18 sandkorn 10 9 nøgler/sek = 4,9 1041 år 36.000 milliarder milliarder milliarder gange universets levetid. 12 / 27
Kryptologi kan knækkes med store computere Tankeeksperiment Forestil dig en supercomputer, der kan prøve én milliard nøgler i sekundet (det er ret mange). Forestil dig så, at hvert sandkorn på jorden er sådan en computer. Der er 7,5 10 18 sandkorn på jorden (cirka). 2 256 nøgler 7,5 10 18 sandkorn 10 9 nøgler/sek = 4,9 1041 år 36.000 milliarder milliarder milliarder gange universets levetid.... i en verden hvor hvert eneste sandkorn er en urealistisk hurtig supercomputer. 12 / 27
Kryptologi kan knækkes med store computere Tankeeksperiment Forestil dig en supercomputer, der kan prøve én milliard nøgler i sekundet (det er ret mange). Forestil dig så, at hvert sandkorn på jorden er sådan en computer. Der er 7,5 10 18 sandkorn på jorden (cirka). 2 256 nøgler 7,5 10 18 sandkorn 10 9 nøgler/sek = 4,9 1041 år 36.000 milliarder milliarder milliarder gange universets levetid.... i en verden hvor hvert eneste sandkorn er en urealistisk hurtig supercomputer.... for én nøgle. 12 / 27
Kryptologi kan knækkes med store computere 13 / 27
Kryptologi kan knækkes med store computere 14 / 27
Hvordan krypto bliver smadret i virkeligheden Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. Ed Snowden 15 / 27
Introduktion Hvordan gør man? 16 / 27
Introduktion Hvordan gør man? PGP (egentlig OpenPGP) er et system til at kryptere dine emails. Det er asymmetrisk, så man bruger nøglepar, hvor man har både en privat og en offentlig nøgle. 16 / 27
Introduktion Hvordan gør man? PGP (egentlig OpenPGP) er et system til at kryptere dine emails. Det er asymmetrisk, så man bruger nøglepar, hvor man har både en privat og en offentlig nøgle. GPG er en gratis version af PGP-systemet. Windows: gpg4win.org Mac: gpgtools.org Linux: gpg- og gpa-pakkerne i din distribution 16 / 27
Introduktion Hvordan gør man? Hvordan gør man? At sende mail: 1 Få fat i modtagerens public key 2 Skriv din mail 3 Krypter den 4 Send den 17 / 27
Introduktion Hvordan gør man? Hvordan gør man? At sende mail: 1 Få fat i modtagerens public key 2 Skriv din mail 3 Krypter den 4 Send den At modtage mail: 1 Generer et nøglepar 2 Offentliggør din (offentlige) nøgle 3 Modtag en email krypteret til din offentlige nøgle 4 Dekrypter den med din private nøgle 17 / 27
Introduktion Hvordan gør man? Hvordan gør man? At sende mail: 1 Få fat i modtagerens public key 2 Skriv din mail 3 Krypter den 4 Send den At modtage mail: 1 Generer et nøglepar 2 Offentliggør din (offentlige) nøgle 3 Modtag en email krypteret til din offentlige nøgle 4 Dekrypter den med din private nøgle Men hvor offentliggører folk deres nøgler? 17 / 27
Introduktion Hvordan gør man? Keybase 18 / 27
Introduktion Hvordan gør man? Keybase 19 / 27
Introduktion Hvordan gør man? Kryptering med PGP Med en offentlig nøgle i hånden kan man kopiere den ind i sit PGP-program. 20 / 27
Introduktion Hvordan gør man? 21 / 27
Introduktion Hvordan gør man? 22 / 27
Introduktion Hvordan gør man? 23 / 27
Introduktion Hvordan gør man? 24 / 27
Introduktion Hvordan gør man? @jchillerup jc@bitbureauet.dk jchillerup@jabber.ccc.de 25 / 27
Kryptologi kan knækkes med kvantecomputere I en verden med kvantecomputere svækkes AES-256 (som vi lige talte om), således at antallet af nøgler, der behøver at blive gennemgået er 2 128. 26 / 27
Kryptologi kan knækkes med kvantecomputere I en verden med kvantecomputere svækkes AES-256 (som vi lige talte om), således at antallet af nøgler, der behøver at blive gennemgået er 2 128. 2 128 nøgler 7,5 10 18 sandkorn 10 9 = 1438 år nøgler/sek 26 / 27
Kryptologi kan knækkes med kvantecomputere I en verden med kvantecomputere svækkes AES-256 (som vi lige talte om), således at antallet af nøgler, der behøver at blive gennemgået er 2 128. 2 128 nøgler 7,5 10 18 sandkorn 10 9 = 1438 år nøgler/sek... men RSA og andre asymmetriske kryptosystemer får store problemer! 26 / 27
Kryptologi kan knækkes med kvantecomputere Heldigvis... 27 / 27