{"id":253,"date":"2007-12-18T00:37:34","date_gmt":"2007-12-17T22:37:34","guid":{"rendered":"http:\/\/www.carceri.dk\/blog\/?p=253"},"modified":"2008-08-12T15:49:05","modified_gmt":"2008-08-12T13:49:05","slug":"tilfaeldige-tal-og-konspirationsteorier","status":"publish","type":"post","link":"https:\/\/www.bytopia.dk\/blog\/2007\/12\/18\/tilfaeldige-tal-og-konspirationsteorier\/","title":{"rendered":"Tilf\u00e6ldige tal og konspirationsteorier"},"content":{"rendered":"<p>Da det her kom frem, ville jeg egentlig skrive lidt om det, men fik det aldrig gjort. Nu er der s\u00e5 kommet nyt i sagen, s\u00e5 nu tager jeg det op igen. Men jeg m\u00e5 hellere tage det hele fra begyndelsen. Det handler om sikkerhed og kryptologi, men p\u00e5 et niveau hvor alle kan v\u00e6re med&#8230; hvis de alts\u00e5 vil. Ellers s\u00e5 f\u00f8lg med senere hvor jeg sikkert skriver noget om julemad, gaver og om det at skrive ph.d. afhandling i juletiden \ud83d\ude42<\/p>\n<p>Tilf\u00e6ldige tal er noget af det vigtigste for stort set alle kryptografiske metoder, men problemet er at en computer er meget d\u00e5rlig til at generere tilf\u00e6ldige tal. Derfor er der fundet p\u00e5 mange forskellige m\u00e5der at generere tilf\u00e6ldige tal p\u00e5, der tager en smule tilf\u00e6ldigt input (fx genereret ved at brugeren flytter rundt med musen eller hamrer i tastaturet) og ud fra det, genererer en &#8220;uendelig&#8221; str\u00f8m af tilf\u00e6ldige data. Id\u00e9en er s\u00e5 at uanset hvor l\u00e6nge man observerer denne str\u00f8m af tilf\u00e6ldige data, s\u00e5 har man ingen mulighed for at forudsige hvad det n\u00e6ste tal, der kommer ud af den bliver, med st\u00f8rre sandsynlighed end et helt tilf\u00e6ldigt g\u00e6t.<\/p>\n<p>Denne proces er absolut ikke simpel, og mange systemer er blevet brudt i tidens l\u00f8b, fordi de tilf\u00e6ldige tal ikke var tilf\u00e6ldige nok. <a href=\"http:\/\/en.wikipedia.org\/wiki\/Donald_Knuth\">Donald Knuth<\/a> var en klog mand da han sagde: &#8220;Random numbers should not be generated with a method chosen at random&#8221;. Derfor har den amerikanske organisation NIST, efter en l\u00e6ngere proces, udvalgt fire kandidater til en standard for hvordan man genererer tilf\u00e6ldige tal, hvor alle fire benytter forskellige teknikker. Men en af dem, er ikke som de tre andre&#8230;<\/p>\n<p>Den der st\u00e5r udenfor har navnet Dual_EC_DRBG, og er baseret p\u00e5 elliptiske kurver. At den er inkluderet, kan undre en, da den er ca. tre gange s\u00e5 langsom til at generere tilf\u00e6ldige tal, som de andre kandidater. Den er faktisk kun med fordi den amerikanske efterretningstjeneste NSA (som ogs\u00e5 er medlem af NIST) udviklede den, og pressede h\u00e5rdt p\u00e5 for at f\u00e5 den med i standarden.<\/p>\n<p>I 2006 blev der opdaget et par problemer med den. De tilf\u00e6ldige tal den spyttede ud, havde en svag bias, men det var ikke nok til at den var komplet usikker, og en m\u00e5de at reparere den p\u00e5, blev ogs\u00e5 foresl\u00e5et. Men s\u00e5 kom Crypto 2007 konferencen, hvor Dan Shumow og Niels Ferguson viste, at der var en meget mist\u00e6nkelig fejl i metoden&#8230;<\/p>\n<p>Jeg skal spare jer for matematikken, men den korte version er, at metoden g\u00f8r brug af nogle konstanter -- alts\u00e5 helt specifikke tal der er en del af standarden -- som man bare skal bruge, dog uden at nogen har beskrevet hvordan de helt specifikt er blevet valgt. Hvad Shumow og Ferguson viste, var at disse konstanter har en relation til et andet s\u00e6t af hemmelige tal. Hvis du kender disse hemmelige tal, kan du, efter at have opsamlet blot nogle f\u00e5 bytes tilf\u00e6ldige data genereret af metoden, forudsige samtlige tilf\u00e6ldige tal der bliver genereret herefter. Sagt p\u00e5 en anden m\u00e5de: Hvis en person overv\u00e5ger trafikken mens du logger p\u00e5 din netbank bare en enkelt gang, s\u00e5 har han fuld adgang til alle data du udveksler med banken, da han er i stand til at forudsige hvilke kryptografiske n\u00f8gler din maskine vil generere. Det er vist un\u00f8dvendigt at sige at det er skidt! Dermed er det ogs\u00e5 MEGET skidt hvis en person kender disse hemmelige tal relateret til konstanterne, da han s\u00e5 vil v\u00e6re i stand til at bryde ENHVER implementation af Dual_EC_DRBG.<\/p>\n<p>Hanlon&#8217;s razor siger godt nok &#8220;never attribute to malice that which can be adequately explained by stupidity&#8221;, men i dette tilf\u00e6lde kan jeg ikke se hvorfor NSA har insisteret p\u00e5 at inkludere denne metode, hvis ikke det var fordi at de ligger inde med de hemmelige tal, konstanterne er genereret ud fra, med det form\u00e5l at kunne bryde samtlige systemer baseret p\u00e5 denne standard.<\/p>\n<p>Det skal for en god ordens skyld siges, at ingen ved om disse hemmelige tal overhovedet eksisterer. M\u00e5ske er de genereret tilf\u00e6ldigt og slettet igen kort efter, m\u00e5ske kender kun f\u00e5 udvalgte folk dem, m\u00e5ske kender kun en programm\u00f8r dem? Vi ved det ikke, men der er ingen der kan bevise at de ikke eksisterer, og det b\u00f8r v\u00e6re grund nok til holde sig s\u00e5 langt v\u00e6k fra Dual_EC_DRBG som overhovedet muligt.<\/p>\n<p>Det her skete for et par m\u00e5neder siden. I dag h\u00f8rer jeg s\u00e5 at Microsoft har inkluderet Dual_EC_DRBG som en del af deres opdatering til Windows Vista, nemlig deres Service Pack 1. Microsoft siger at den er vedlagt, men at det er op til programm\u00f8rerne selv om de vil bruge den, eller en af de tre andre, og at Windows Vista i sig selv ikke anvender den. Det har vi s\u00e5 udelukkende Microsoft&#8217;s ord for, og med alt den anti-terror lovgivning og tilsides\u00e6ttelse af retssikkerheden som der sker i dag, s\u00e5 er jeg ikke overbevist om at det er korrekt. Og selvom det er korrekt i dag, s\u00e5 skal der ikke andet end en lille opdatering til fra Microsoft, for at den er sl\u00e5et til.<\/p>\n<p>Der er nogen der har et stort forklaringsproblem. Ikke s\u00e5 meget Microsoft, der n\u00e5r alt kommer til alt, bare har valgt at implementere en standard, men snarere NSA og NIST.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da det her kom frem, ville jeg egentlig skrive lidt om det, men fik det aldrig gjort. Nu er der s\u00e5 kommet nyt i sagen, s\u00e5 nu tager jeg det op igen. Men jeg m\u00e5 hellere tage det hele fra begyndelsen. Det handler om sikkerhed og kryptologi, men p\u00e5 et niveau hvor alle kan v\u00e6re [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[4,5],"tags":[],"class_list":["post-253","post","type-post","status-publish","format-standard","hentry","category-computer","category-kommentar"],"_links":{"self":[{"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/posts\/253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/comments?post=253"}],"version-history":[{"count":0,"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bytopia.dk\/blog\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}