0:00:02.940,0:00:08.500 Internettet: [br]Kryptering og offentlige nøgler 0:00:09.060,0:00:12.680 Hej, Mit navn er Mia Gil-Epner, jeg har[br]computervidenskab som hovedfag ved 0:00:12.680,0:00:15.396 UC Berkeley og jeg arbejder for[br]forsvarsministeriet, 0:00:15.396,0:00:18.580 hvor jeg prøver at holde information[br]sikker. 0:00:18.920,0:00:21.780 Internettet er et åbent og offentligt[br]system. 0:00:21.980,0:00:26.280 Vi sender og modtager alle over delte[br]ledninger og forbindelser. 0:00:26.280,0:00:31.061 Men selv om det er et åbent system,[br]udveksler vi stadig en masse privat data. 0:00:31.061,0:00:35.890 Ting som kreditkortnumre, bankoplysninger,[br]adgangskoder og e-mails. 0:00:35.890,0:00:38.940 So hvordan holdes alle disse private ting[br]hemmelige? 0:00:38.940,0:00:42.420 Al slags data kan holdes hemmelig via en[br]proces, der hedder kryptering, 0:00:42.420,0:00:46.779 kodning eller ændring af beskeden for[br]at skjule den oprindelige tekst. 0:00:46.779,0:00:51.170 Dekryptering er processen, hvorved den[br]besked afkodes, så den er læselig. 0:00:51.900,0:00:55.590 Det er en simpel ide, og folk har gjort[br]det i århundreder. 0:00:55.590,0:00:59.690 Et af de første velkendte krypterings-[br]metoder var Cæsaralgoritmen. 0:00:59.690,0:01:04.149 Opkaldt efter Julius Cæsar, en romersk[br]general, der krypterede sine militære 0:01:04.149,0:01:07.420 kommandoer for at sørge for, hvis en[br]besked blev opfanget af fjender, 0:01:07.420,0:01:09.788 at de ikke ville kunne læse den. 0:01:09.940,0:01:13.655 Cæsaralgoritmen er en algoritme, der[br]udskifter hvert bogstav i den oprindelige 0:01:13.655,0:01:17.089 besked med et bogstav et vist antal trin[br]længere nede i alfabetet. 0:01:17.089,0:01:22.432 Hvis nummeret er noget, som kun senderen[br]og modtageren kender, hedder det nøglen. 0:01:22.622,0:01:25.990 Den tillader læseren at låse op for den[br]hemmelige besked. 0:01:27.060,0:01:32.842 F.eks. hvis din oprindelige besked er[br]"HELLO", så vil brug af Cæsaralgoritmen 0:01:32.842,0:01:36.699 med en nøgle på 5 give denne krypterede[br]besked... 0:01:39.469,0:01:45.609 For at afkode beskeden ville modtageren[br]blot bruge nøglen og omvende processen. 0:01:45.609,0:01:50.179 Men der er et stort problem med[br]Cæsaraloritmen, enhver kan let bryde 0:01:50.179,0:01:55.089 eller knække den krypterede besked ved at[br]prøve hver mulige nøgle, og i det engelske 0:01:55.089,0:01:59.729 alfabet er der kun 26 bogstaver, hvilket[br]betyder, at du højst behøver prøve 0:01:59.729,0:02:02.479 26 nøgler for at afkode beskeden. 0:02:03.269,0:02:08.320 Det er ikke svært at prøve 26 nøgler, og[br]ville højst tage en time eller to. 0:02:08.320,0:02:13.050 Så lad os gøre den sværer. I stedet for at[br]flytte hvert bogstav med samme afstand lad 0:02:13.050,0:02:15.880 os flytte hvert bogstav en forskellig[br]afstand. 0:02:15.970,0:02:20.240 I dette eksempel viser en ti-ciffernøgle,[br]hvor mange positioner hvert efterfølgende 0:02:20.240,0:02:24.394 bogstav vil ændres for at kryptere en[br]længere besked. 0:02:26.034,0:02:28.590 Det ville være rigtig svært at gætte denne nøgle. 0:02:28.590,0:02:34.160 Med ti-cifferkryptering kunne der være[br]10 milliarder mulige nøgleløsninger. 0:02:34.160,0:02:37.420 Dette er naturligvis mere end noget[br]menneske kunne løse, 0:02:37.420,0:02:39.860 det ville tage mange århundreder. 0:02:39.860,0:02:43.720 Men for en gennemsnitlig computer i dag,[br]ville alle 10 milliarder muligheder 0:02:43.720,0:02:46.030 blot tage nogle få sekunder. 0:02:46.030,0:02:51.240 Så i en moderne verden, hvor skurkene har[br]computere i stedet for blyanter, hvordan 0:02:51.240,0:02:56.610 kan du kryptere beskeder sikkert nok til[br]at gøre dem for svære at bryde? 0:02:56.610,0:03:03.000 Nu betyder "for svær" at der er for mange[br]muligheder at beregne i en rimelig tid. 0:03:03.000,0:03:08.560 Nutidens sikre kommunikationer krypteres[br]med 256-bit nøgler. 0:03:08.560,0:03:12.352 Det betyder at en skurks computer, der[br]opfanger din besked, ville blive nødt til 0:03:12.352,0:03:17.679 at prøve denne mængde mulige løsninger,[br]indtil de finder nøglen og bryder koden. 0:03:19.814,0:03:24.730 Selv hvis du havde 100.000 supercomputere[br]og hver af dem kunne prøve 0:03:24.730,0:03:30.276 en million milliarder nøgler hvert sekund,[br]ville det tage billiarder af billiarder af 0:03:30.276,0:03:34.620 billiarder af år for dem at prøve hver[br]mulighed for kun at læse en enkelt besked. 0:03:34.620,0:03:37.690 beskyttet med 256-bit kryptering. 0:03:37.690,0:03:42.990 Naturligvis bliver computerchips dobbelt[br]så hurtige og halvt så store ca. hvert år. 0:03:42.990,0:03:47.380 Hvis en sådan eksponentiel fremgang[br]fortsætter, vil nutidens umulige problemer 0:03:47.380,0:03:54.080 blive løselige om blot et par hundrede år,[br]og 256 bit vil ikke være sikkert nok. 0:03:54.080,0:03:57.470 Faktisk har vi allerede skullet øge[br]nøglers standardlængde 0:03:57.470,0:04:01.070 for at holde trit med computernes[br]hastigheder. 0:04:01.070,0:04:05.540 Den gode nyhed er, at en længere nøgle[br]ikke gør det meget sværere at kryptere 0:04:05.540,0:04:11.660 beskeder, men øger eksponentielt antallet[br]af gæt, det vil tage at bryde en kode. 0:04:11.660,0:04:16.359 Når afsender og modtager deler samme kode[br]til kryptering og afkodning af en besked 0:04:16.359,0:04:18.417 hedder det symmetrisk kryptering. 0:04:18.887,0:04:23.535 Med en symmetrisk kryptering ligesom med[br]cæsaralgoritmen, skal den hemmelige nøgle 0:04:23.535,0:04:27.740 aftales privat på forhånd af to mennesker. 0:04:27.740,0:04:31.570 Så det er fint for mennesker, men[br]internettet er åbent og offentligt, så det 0:04:31.570,0:04:37.220 er umuligt for to computere at "mødes"[br]privat for at aftale en hemmelig nøgle. 0:04:37.220,0:04:41.599 I stedet bruger computere asymmetrisk[br]krypteringsnøgler, en offentlig nøgle, der 0:04:41.599,0:04:46.590 kan udveksles med alle og en privat nøgle,[br]der ikke deles. 0:04:46.590,0:04:50.980 Den offentlige nøgle bruges til at[br]kryptere data, og alle kan bruge den til 0:04:50.980,0:04:56.466 at skabe en hemmelig besked, men den[br]hemmelighed kan kun afkodes af en computer 0:04:56.466,0:04:59.161 med adgang til den private nøgle. 0:04:59.161,0:05:03.010 Dette virker med lidt matematik, som vi[br]ikke vil drøfte lige nu. 0:05:03.010,0:05:06.739 Forestil dig det, som om du har en [br]personlig postkasse, som alle kan lægge 0:05:06.739,0:05:10.509 post i, men de skal bruge en nøgle for at[br]gøre det. 0:05:10.509,0:05:13.828 Du kan lave mange kopier af postnøglen[br]og sende én til din ven, 0:05:13.828,0:05:16.299 eller bare gøre den offentligt [br]tilgængelig. 0:05:16.299,0:05:20.159 Din ven eller sågar en fremmed kan bruge[br]den offentlige nøgle til at få adgang til 0:05:20.159,0:05:25.410 din brevsprække og lægge en besked i, men[br]kun du kan åbne postkassen med din private 0:05:25.410,0:05:29.020 nøgle for at få adgang til alle de[br]hemmelige beskeder, du har modtaget. 0:05:29.020,0:05:32.739 Og du kan sende en sikker besked tilbage[br]til din ven ved at bruge de offentlige 0:05:32.739,0:05:34.990 postnøgler til deres postkasse. 0:05:34.990,0:05:41.350 På denne måde kan folk udveksle sikre[br]beskeder uden at aftale en privat nøgle. 0:05:41.350,0:05:45.613 Assymetrisk kryptering danner[br]grundlag for alle sikre beskeder 0:05:45.613,0:05:49.340 på det åbne internet; inklusive[br]sikkerhedsprotokollerne kendt som 0:05:49.340,0:05:54.763 SSL og TLS, der beskytter os, når vi[br]browser internettet. 0:05:54.763,0:05:58.342 Din computer bruger den i dag, hver gang[br]du ser den lille lås, 0:05:58.342,0:06:02.570 eller bogstaverne https [br]i din browsers addresselinje. 0:06:02.570,0:06:06.649 Det betyder at din computer bruger[br]assymetrisk kryptering til dataudveksling 0:06:06.649,0:06:08.928 på sikker vis med websiden, [br]som du er på. 0:06:09.668,0:06:15.130 Idet flere folk kommer på internettet,[br]vil mere og mere privat data blive sendt, 0:06:15.130,0:06:18.890 og behovet for at sikre den data vil blive[br]endnu vigtigere. 0:06:18.890,0:06:23.190 Og eftersom computere bliver hurtigere og[br]hurtigere, vil det blive nødvendigt at 0:06:23.190,0:06:26.429 udvikle nye måder at gøre kryptering for[br]svær for computere at bryde. 0:06:26.449,0:06:30.011 Det er, hvad jeg gør i mit arbejde, og det[br]ændrer sig altid.