Kryptografiska attacker: en förklaring för förvirrade sinnen

NÀr man hör ordet "kryptografi" tÀnker vissa pÄ sitt WiFi-lösenord, den gröna hÀnglÄset bredvid adressen till sin favoritwebbplats och hur svÄrt det Àr att komma Ät nÄgon annans e-post. Andra tÀnker pÄ en rad sÄrbarheter de senaste Ären med talande förkortningar (DROWN, FREAK, POODLE...) och stiliga logotyper som varnar för att uppdatera webblÀsaren omedelbart.

Kryptografi omfattar allt detta, men essensen ligger i nÄgot annat. Essensen ligger i den fina grÀnsen mellan enkelt och komplext. Vissa saker Àr lÀtta att göra men svÄra att ÄterstÀlla: till exempel att knÀcka ett Àgg. Andra saker Àr enkla att göra men svÄra att ÄterstÀlla nÀr den lilla, viktiga avgörande delen saknas: till exempel att öppna en lÄst dörr nÀr "den avgörande delen" Àr nyckeln. Kryptografi studerar dessa situationer och hur de kan tillÀmpas praktiskt.

Under de senaste Ären har samlingen av kryptografiska attacker förvandlats till en djungel av skrikande logotyper, fyllda med formler frÄn vetenskapliga artiklar, och har skapat en allmÀn dyster kÀnsla av att allt Àr trasigt. Men i sjÀlva verket bygger mÄnga av attackerna pÄ nÄgra gemensamma principer, och de oÀndliga sidorna med formler kan ofta reduceras till enkla, förstÄeliga idéer.

I denna artikelserie kommer vi att titta pÄ olika typer av kryptografiska attacker, med fokus pÄ de grundlÀggande principerna. I stora drag och inte nödvÀndigtvis i den hÀr ordningen, men vi kommer att tÀcka följande:

  • GrundlĂ€ggande strategier: brute-force, frekvensanalys, interpolation, nedan och cross-protokoll.
  • "Brand"-sĂ„rbarheter: FREAK, CRIME, POODLE, DROWN, Logjam.
  • Avancerade strategier: orakelattacker (Waterner-attacken, Kelsey-attacken); meet-in-the-middle-metoden, födelsedagsattack, statistisk förskjutning (differentiell kryptanalys, integral kryptanalys osv.).
  • Sideloadattacker och deras nĂ€ra slĂ€ktingar, felanalysmetoder.
  • Attacker mot kryptografi med offentlig nyckel: kubroten, broadcast, relaterad meddelande, Coppersmiths attack, Pollard-Hellman-algoritmen, numeriskt sikt, Wieners attack, Blaychenbachers attack.

Den hÀr specifika artikeln tÀcker det ovan nÀmnda materialet fram till Kelsey-attacken.

GrundlÀggande strategier

De följande attackerna Àr enkla i den meningen att de kan förklaras nÀstan helt utan speciella tekniska detaljer. Vi kommer att förklara varje typ av attack i de enklaste termerna, utan att djupdyka i komplexa exempel eller avancerade anvÀndningsomrÄden.

Vissa av dessa attacker har i stort sett blivit irrelevanta och har inte anvĂ€nts pĂ„ mĂ„nga Ă„r. Andra – veteraner, de smyger fortfarande regelbundet pĂ„ intet ont anande utvecklare av kryptosystem under 21-talet. Man kan sĂ€ga att epoken för modern kryptografi började med introduktionen av IBM DES – den första kryptografiska algoritmen som motstod alla attacker pĂ„ denna lista.

Enkel brute force

Kryptografiska attacker: en förklaring för förvirrade sinnenKrypteringsschemat bestĂ„r av tvĂ„ delar: 1) en krypteringsfunktion som tar emot ett meddelande (klart text) tillsammans med en nyckel och sedan skapar ett krypterat meddelande – ciphertext; 2) en dekrypteringsfunktion som tar emot ciphertext och nyckeln och skapar klart text. BĂ„de kryptering och dekryptering bör vara lĂ€tta att berĂ€kna med nyckeln – och svĂ„ra utan den.

Anta att vi ser ciphertext och försöker dekryptera det utan ytterligare information (detta kallas en "endast ciphertext"-attack). Om vi pÄ nÄgot magiskt sÀtt hittar den rÀtta nyckeln kan vi lÀtt verifiera att den Àr korrekt om resultatet Àr ett rimligt meddelande.

Observera att det hÀr finns tvÄ underförstÄdda antaganden. För det första att vi vet hur man utför dekrypteringen, det vill sÀga hur kryptosystemet fungerar. Detta Àr en standardantagande nÀr man diskuterar kryptografi. Att dölja detaljerna i krypteringsalgoritmen frÄn angripare kan verka som en extra sÀkerhetsÄtgÀrd, men sÄ snart angriparen tar reda pÄ dessa detaljer Àr denna extra sÀkerhet osynlig och oÄterkallelig förlorad. SÄ Àr Kerckhoffs princip: att ifall systemet hamnar i fiendens hÀnder ska det inte orsaka nÄgra problem.

För det andra antar vi att den rÀtta nyckeln Àr den enda nyckeln som leder till en rimlig dekryptering. Detta Àr ocksÄ en rimlig förutsÀttning; den gÀller om ciphertext Àr mycket lÀngre Àn nyckeln och Àr lÀttlÀst. SÄ brukar det vara i den verkliga vÀrlden, med undantag för gigantiskt opraktiska nycklar eller andra manipulationer som Àr bÀttre att lÀmna dÀrhÀn. (om du inte gillar att vi avfÀrdar förklaringar, vÀnligen se teorem 3.8 hÀr).

Med detta i Ă„tanke uppstĂ„r strategin: att kontrollera varje möjlig nyckel. Detta kallas bruteforce, och en sĂ„dan attack fungerar garanterat mot alla praktiska krypton – i slutĂ€ndan. Till exempel Ă€r bruteforce tillrĂ€ckligt för att bryta Caesars chiffret, en gammal chiffer dĂ€r nyckeln Ă€r en bokstav frĂ„n alfabetet, vilket innebĂ€r nĂ„got mer Ă€n 20 möjliga nycklar.

TyvÀrr för kryptanalytiker ökar storleken pÄ nyckeln skyddet mot bruteforce. I takt med att nyckelstorleken ökar, ökar antalet möjliga nycklar exponentiellt. Med moderna nyckelstorlekar Àr enkel bruteforce helt orealistisk. För att förstÄ vad vi menar, ta den snabbaste kÀnda superdatorn i mitten av 2019: Summit frÄn IBM, med en toppprestanda pÄ cirka 10^17 operationer per sekund. Idag Àr den typiska nyckellÀngden 128 bitar, vilket innebÀr 2^128 möjliga kombinationer. För att pröva alla nycklar skulle superdatorn Summit behöva tid som Àr ungefÀr 7800 gÄnger lÀngre Àn universums Älder.

Ska bruteforce betraktas som en historisk kuriositet? Absolut inte: det Àr en nödvÀndig ingrediens i kryptanalysens kokbok. Det förekommer sÀllan sÄ svaga chiffers att de kan brytas enbart med smart attack, utan nÄgot slags kraftanstrÀngning. MÄnga framgÄngsrika intrÄng anvÀnder först en algoritmisk metod för att svaga det mÄlade chiffret och sedan körs bruteforce.

Frekvensanalys

Kryptografiska attacker: en förklaring för förvirrade sinnenDe flesta texter Àr inget trams. Till exempel har engelsksprÄkiga texter mÄnga bokstÀver 'e' och artikeln 'the'; i binÀra filer finns det mÄnga nollor som fyllnad mellan informationsbitar. Frekvensanalys Àr en vilken attack som anvÀnder denna fakta.

Ett kanoniskt exempel pÄ ett chiffer som Àr sÄrbart för denna attack Àr enkelt substitutionschiffer. I detta chiffer representerar nyckeln en tabell som ersÀtter alla bokstÀver. Till exempel, 'g' ersÀtts med 'h', 'o' med 'j', dÀrför blir ordet 'go' till 'hj'. Detta chiffer Àr svÄrt att bryta med enkel bruteforce, eftersom det finns sÄ mÄnga möjliga substitutions tabeller. Om du Àr intresserad av matematik, Àr den effektiva nyckellÀngden cirka 88 bitar: det Àr
Kryptografiska attacker: en förklaring för förvirrade sinnen. Men frekvensanalys hanterar vanligtvis uppgiften snabbt.

LÄt oss övervÀga följande chiffertext, bearbetad med en enkel substitutionschiffer:

XDYLY ALY UGLY XDWNKE WN DYAJYN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR WN OGQL ZDWBGEGZDO

Eftersom Y det förekommer ofta, inklusive i slutet av mÄnga ord, kan vi preliminÀrt anta att det Àr bokstaven e:

XDeLe ALe UGLe XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN ALe FLeAUX GR WN OGQL ZDWBGEGZDO

Ett par XD upprepas i början av flera ord. SÀrskilt kombinationen XDeLe antyder tydligt ordet these eller there, sÄ vi fortsÀtter:

theLe ALe UGLe thWNKE WN heAJeN ANF eALth DGLAtWG thAN ALe FLeAUt GR WN OGQL ZDWBGEGZDO

Vidare antar vi att L motsvarar Ă€r lika med noll., A — a osv. Det kommer troligen att krĂ€vas flera försök, men jĂ€mfört med fullstĂ€ndig brute force Ă„terskapar denna attack den ursprungliga texten pĂ„ kort tid:

there are more things in heaven and earth horatio than are dreamt of in your philosophy

För vissa Àr lösningen av sÄdana "kryptogram" en fascinerande hobby.

Idén med frekvensanalys Àr mer grundlÀggande Àn den först verkar. Och den kan tillÀmpas pÄ mycket mer komplexa chiffer. Genom historien har olika chifferkonstruktioner försökt stÄ emot denna typ av attack med hjÀlp av "polyalfabetisk substitution". HÀr förÀndras bokstavsersÀttningstabellen under kryptering pÄ komplexa men förutsÀgbara sÀtt som beror pÄ nyckeln. Alla dessa chiffer ansÄgs en gÄng svÄra att bryta; och ÀndÄ övervann den blygsamma frekvensanalysen till slut alla.

Det mest ambitiösa polyalfabetiska chiffret i historien och sannolikt det mest kÀnda var "Enigma"-chiffret under andra vÀrldskriget. Det var relativt komplext jÀmfört med sina föregÄngare, men efter lÄng och hÄrd kamp lyckades brittiska kryptanalytiker bryta det med hjÀlp av frekvensanalys. Naturligtvis kunde de inte utveckla en elegant attack som den som visades ovan; de var tvungna att jÀmföra kÀnda par av klartext och chiffertext (den sÄ kallade "öppna textens attack") och Àven provocera "Enigma"-anvÀndare att kryptera specifika meddelanden för att analysera resultaten ("validerad öppentext-attack"). Men det lÀttade inte ödet för de besegrade arméerna hos fienden och de sÀnkta ubÄtarna.

Efter denna triumf försvann frekvensanalys ur kryptografiens historia. Chiffer frÄn den moderna digitala eran Àr skapade för att arbeta med bitar, inte bokstÀver. Vad som Àr Ànnu viktigare Àr att dessa chiffer utvecklades med en dyster förstÄelse av det som senare blev kÀnt som Schneiers lag: vem som helst kan skapa en krypteringsalgoritm som de sjÀlva inte kan bryta. Det rÀcker inte för att kryptosystemet verkar komplicerat: för att bevisa sitt vÀrde mÄste det genomgÄ en obarmhÀrtig sÀkerhetsöversikt av mÄnga kryptanalytiker som kommer att göra allt för att knÀcka chifferet.

FörhandsberÀkningar

Kryptografiska attacker: en förklaring för förvirrade sinnenLĂ„t oss ta den hypotetiska staden Prekom Heights med en befolkning pĂ„ 200 000 mĂ€nniskor. I varje hem i staden finns vĂ€rdesaker i genomsnitt vĂ€rda $30 000, men högst $50 000. SĂ€kerhetsmarknaden i Prekom Ă€r monopoliserad av företaget ACME Industries, som tillverkar de legendariska dörrlĂ„sen av Coyote ℱ-klass. Enligt expertanalys kan ett lĂ„s av Coyote-klass brytas endast av en mycket avancerad hypotetisk maskin, vars skapande tar omkring fem Ă„r och $50 000 i investeringar. Är staden sĂ€ker?

Sannolikt inte. I slutÀndan kommer det att dyka upp en tillrÀckligt ambitiös brottsling. Han kommer att resonera sÄ hÀr: "Ja, jag kommer att fÄ stora initiala kostnader. Fem Ärs tÄlmodigt vÀntande och $50 000. Men nÀr arbetet Àr klart kommer jag att ha tillgÄng till all denna rikedom i staden. Om jag spelar mina kort rÀtt, sÄ kommer denna investering att betala sig mÄngdubbelt."

PÄ samma sÀtt i kryptografi. Attacker mot ett specifikt chiffer genomgÄr en obarmhÀrtig kostnads- och nyttovÀrdering. Om förhÄllandet Àr gynnsamt sker ingen attack. Men attacker som riktar sig mot mÄnga potentiella offer lönar sig nÀstan alltid, och i dessa fall Àr bÀsta designpraxis att anta att de har pÄbörjats frÄn första dagen. Vi har i grunden en kryptografisk version av Murphys lag: "Allt som kan knÀcka systemet kommer att knÀcka systemet."

Ett enkelt exempel pÄ ett kryptosystem som Àr sÄrbart för attacker med förhandsberÀkningar Àr chiffer med en konstant algoritm utan nyckelanvÀndning. SÄ var fallet med CÊsar-chiffret, som helt enkelt flyttar varje bokstav i alfabetet tre steg framÄt (tabellen Àr cirkulÀr, sÄ den sista bokstaven i alfabetet kodas av den tredje). HÀr visar principen för Kerckhoffs sig Äterigen: sÄ snart systemet Àr genombrottet, Àr det genombrottet för alltid.

Konceptet Ă€r enkelt. Även en nybörjare inom kryptografisk utveckling kommer troligtvis att förstĂ„ hotet och förbereda sig pĂ„ lĂ€mpligt sĂ€tt. Om man ser pĂ„ utvecklingen av kryptografi, var sĂ„dana attacker irrelevanta för de flesta chiffer, frĂ„n de tidiga förbĂ€ttrade versionerna av Caesar-chiffret fram tills nedgĂ„ngen av polyalfabetiska chiffer. Dessa attacker Ă„terkom först med den moderna kryptografins ankomst.

Denna Äterkomst beror pÄ tvÄ faktorer. För det första har det Àntligen uppstÄtt tillrÀckligt komplexa kryptosystem dÀr möjligheten till utnyttjande efter ett genombrott inte var uppenbar. För det andra har kryptografi blivit sÄ utbredd att miljontals lekmÀn varje dag fattar beslut om var och vilka delar av kryptografi som ska anvÀndas pÄ nytt. Det tog ett tag innan experterna insÄg de uppkomna riskerna och larmade.

Kom ihÄg attacken med förberÀkning: i slutet av artikeln kommer vi att titta pÄ tvÄ kryptografiska exempel frÄn verkliga livet dÀr den spelade en viktig roll.

Interpolation

Framför dig stÄr den berömda detektiven Sherlock Holmes, som genomför en attack med interpolation pÄ den olycklige doktor Watson:

Jag insÄg genast att ni kom frÄn Afghanistan... Den tankebanor jag följde var: "Den hÀr personen Àr en lÀkare, men hans uppenbarelse Àr militÀr. SÄ han Àr en militÀr lÀkare. Han har just kommit frÄn tropikerna - hans ansikte Àr solbrÀnt, men det Àr inte en naturlig nyans av hans hud, för hans handleder Àr mycket ljusare. Hans ansikte Àr utmattat - uppenbarligen har han genomlidit och överlevt en sjukdom. Han har skadat sin vÀnstra arm - han hÄller den stilla och lite onaturligt. Var kan en brittisk militÀr lÀkare ha lidit av entropier och fÄtt ett sÄr i tropikerna? SjÀlvklart, Afghanistan." Hela tanken tog inte mer Àn en sekund. Och sÄ sade jag att ni kom frÄn Afghanistan och ni blev överraskad.

FrÄn varje bikupa kunde Holmes utvinna mycket lite information. Han kunde endast komma till sin slutsats efter att ha granskat dem alla tillsammans. PÄ liknande sÀtt fungerar interpolationattacker, som undersöker kÀnda par av öppen och krypterad text som fÄtts genom att anvÀnda samma nyckel. FrÄn varje par utvinns separata observationer, som möjliggör en sammanfattande slutsats om nyckeln. Alla dessa slutsatser Àr vaga och framstÄr som vÀrdelösa, tills de plötsligt nÄr en kritisk massa och leder till den enda möjliga slutsatsen: hur otroligt det Àn kan verka, sÄ mÄste den vara sann. Antingen avslöjas nyckeln efter detta, eller sÄ blir dekrypteringsprocessen sÄ arbetad att den gÄr att replikera.

LÄt oss illustrera med ett enkelt exempel hur interpolation fungerar. Antag att vi vill lÀsa vÄr fiendes dagbok, Bob. Han krypterar varje nummer i sin dagbok med hjÀlp av ett enkelt kryptosystem som han fÄtt veta om frÄn en annons i tidningen "Skratta Ät kryptografi". Systemet fungerar pÄ följande sÀtt: Bob vÀljer tvÄ nummer som han gillar: Kryptografiska attacker: en förklaring för förvirrade sinnen och Kryptografiska attacker: en förklaring för förvirrade sinnen. FrÄn och med nu, för att kryptera ett nummer Kryptografiska attacker: en förklaring för förvirrade sinnen, berÀknar han Kryptografiska attacker: en förklaring för förvirrade sinnen. Till exempel, om Bob vÀljer Kryptografiska attacker: en förklaring för förvirrade sinnen och Kryptografiska attacker: en förklaring för förvirrade sinnen, kommer siffran Kryptografiska attacker: en förklaring för förvirrade sinnen att krypteras som Kryptografiska attacker: en förklaring för förvirrade sinnen.

Anta att vi den 28 december mÀrker att Bob skriver nÄgot i sin dagbok. NÀr han Àr klar, kommer vi diskret att ta den och titta pÄ den senaste anteckningen:

Datum: 235/520

KĂ€ra dagbok,

Idag har varit en bra dag. Om 64 dagar har jag en dejt med Alice, som bor pÄ adressen 843. Jag tror verkligen att hon kan vara 26!

Eftersom vi Ă€r vĂ€ldigt seriösa med att följa Bob pĂ„ hans dejt (i det hĂ€r scenariot Ă€r vi 15 Ă„r gamla), Ă€r det kritiskt viktigt att fĂ„ veta datumet samt Alices adress. Lyckligtvis mĂ€rker vi att Bobs kryptosystem Ă€r sĂ„rbart för en interpolationattack. Vi kanske inte kĂ€nner till Kryptografiska attacker: en förklaring för förvirrade sinnen och Kryptografiska attacker: en förklaring för förvirrade sinnen, men vi vet vad dagens datum Ă€r, sĂ„ vi har tvĂ„ par av "öppen text – krypterad text". Det vill sĂ€ga, vi vet att Kryptografiska attacker: en förklaring för förvirrade sinnen krypteras som Kryptografiska attacker: en förklaring för förvirrade sinnen, och Kryptografiska attacker: en förklaring för förvirrade sinnen — i Kryptografiska attacker: en förklaring för förvirrade sinnen. Vilket vi skriver ner:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Kryptografiska attacker: en förklaring för förvirrade sinnen

Eftersom vi Ă€r 15 Ă„r gamla kĂ€nner vi redan till systemet med tvĂ„ ekvationer med tvĂ„ okĂ€nda, vilket Ă€r tillrĂ€ckligt i detta fall för att hitta Kryptografiska attacker: en förklaring för förvirrade sinnen och Kryptografiska attacker: en förklaring för förvirrade sinnen utan nĂ„gra problem. Varje par av "öppen text-krypterad text" sĂ€tter ett begrĂ€nsning pĂ„ Bobs nyckel, och tvĂ„ begrĂ€nsningar tillsammans Ă€r tillrĂ€ckliga för att helt Ă„terstĂ€lla nyckeln. I vĂ„rt exempel Ă€r svaret Kryptografiska attacker: en förklaring för förvirrade sinnen och Kryptografiska attacker: en förklaring för förvirrade sinnen (vid Kryptografiska attacker: en förklaring för förvirrade sinnen Kryptografiska attacker: en förklaring för förvirrade sinnen, sĂ„ att 26 i dagboken motsvarar ordet 'den enda', det vill sĂ€ga "den specifika" — anm. övers.

Interpolationsattacker Ă€r förstĂ„s inte begrĂ€nsade till sĂ„ enkla exempel. Varje kryptosystem som kan reduceras till ett vĂ€lkĂ€nt matematiskt objekt och en lista över parametrar Ă€r i risksonen för interpolationsattacker — ju mer förstĂ„eligt objektet Ă€r, desto högre Ă€r risken.

Nykomlingar klagar ofta pĂ„ att kryptografi Ă€r "konsten att designa sĂ„ fula saker som möjligt." Sannolikt Ă€r mycket av skylden pĂ„ interpolationsattacker. Bob kan antingen anvĂ€nda en elegant matematisk design eller bevara sin integritet i mötet med Alice — men tyvĂ€rr kan man oftast inte fĂ„ bĂ„da. Detta kommer att bli uppenbart nĂ€r vi till sist gĂ„r över till Ă€mnet kryptografi med öppen nyckel.

Cross-protokoll/nedsÀttning

Kryptografiska attacker: en förklaring för förvirrade sinnenI filmen "Illusionens mÀstare" (2013) försöker en grupp illusionister lura till sig hela förmögenheten av den korrumperade försÀkringsmagnaten Arthur Tressler. För att fÄ tillgÄng till Arthurs bankkonto mÄste illusionisterna antingen presentera hans anvÀndarnamn och lösenord, eller fÄ honom att personligen dyka upp i banken och delta i planen.

BÄda alternativen Àr mycket svÄra; killarna Àr vana vid att upptrÀda pÄ scen, snarare Àn att delta i underrÀttelseoperationer. DÀrför vÀljer de det tredje möjliga alternativet: deras medhjÀlpare ringer till banken och utger sig för att vara Arthur. Banken stÀller nÄgra frÄgor för att verifiera identiteten, sÄsom namnen pÄ hans farbror och första husdjur; vÄra hjÀltar fÄr i förhand lÀtt den informationen frÄn Arthur genom skicklig social ingenjörskonst. FrÄn och med nu spelar inte en utmÀrkt lösenordssÀkerhet lÀngre nÄgon roll.

(Enligt en stadslegend som vi personligen har kontrollerat och bekrÀftat, stötte kryptografen Eli Biham en gÄng pÄ en banktjÀnsteman som krÀvde att stÀlla en sÀkerhetsfrÄga. NÀr banktjÀnstemannen frÄgade namnet pÄ hans mormor pÄ mödernet, började Biham diktera: "Versal X, liten y, tre...").

SÄ Àr det ocksÄ inom kryptografi; om tvÄ kryptografiska protokoll anvÀnds parallellt för att skydda samma tillgÄng, dÀr det ena Àr betydligt svagare Àn det andra, blir det slutliga systemet sÄrbart för en korsprotokollsattack, dÀr det svagare protokollet attackeras för att nÄ mÄlet utan att röra det starkare.

I vissa komplicerade fall rÀcker det inte att bara kontakta servern via det svagare protokollet, utan det krÀvs ofrivilligt deltagande frÄn den legitima kunden. Detta kan organiseras genom sÄ kallad nedgraderingsattack. För att förstÄ denna attack, anta att vÄra illusionister har en mer komplex uppgift Àn i filmen. Anta att en bankanstÀlld (kassör) och Arthur har stött pÄ oförutsedda omstÀndigheter, vilket resulterar i följande dialog:

Hacker: HallÄ? Det Àr Arthur Tressler. Jag skulle vilja ÄterstÀlla mitt lösenord.

Kassör: UtmĂ€rkt. VĂ€nligen titta i din personliga bok med hemliga koder, sida 28, ord 3. Alla följande meddelanden kommer att vara krypterade med detta specifika ord som nyckel. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV


Hacker: Ehh, vĂ€nta, vĂ€nta. Är det verkligen nödvĂ€ndigt? Kan vi inte bara prata som normala mĂ€nniskor?

Kassör: Jag rekommenderar inte att du gör det.

Hacker: Jag bara... lyssna, jag har haft en dÄlig dag, okej? Jag Àr en VIP-kund och inte pÄ humör för att blÀddra i dessa dumma kodböcker.

Kassör: Okej. Om du insisterar, herr Tressler. Vad kan jag hjÀlpa dig med?

Hacker: SnÀlla, jag skulle vilja överföra alla mina pengar till den nationella fonden för offren för Arthur Tressler.

(Paus).

Kassör: Okej, jag förstÄr. VÀnligen ange din PIN-kod för stora transaktioner.

Hacker: Min vad?

Kassör: PÄ din personliga begÀran krÀver transaktioner av den storleken att du anger en PIN-kod för stora transaktioner. Denna kod gavs till dig nÀr du öppnade ditt konto.

Hacker:
 Jag har tappat den. Är det verkligen nödvĂ€ndigt? Kan du inte bara godkĂ€nna transaktionen?

Kassör: Nej. Jag ber om ursĂ€kt, herr Tressler. Återigen, det hĂ€r Ă€r en sĂ€kerhetsĂ„tgĂ€rd som du bad om. Om du vill kan vi skicka en ny PIN-kod till din postlĂ„da.

VÄra hjÀltar skjuter upp operationen. De lyssnar pÄ flera stora transaktioner frÄn Tressler och hoppas fÄ höra PIN-koden; men varje gÄng blir samtalet till ett kryptiskt babbel innan nÄgot intressant hörs. Till slut, en vacker dag, sÀtter de planen i verket. De vÀntar tÄlmodigt pÄ ögonblicket nÀr Tressler ska göra en stor telefontransaktion, han kopplar upp sig, och sedan...

Tressler: Hej. Jag skulle vilja göra en fjÀrrtransaktion, tack.

Kassör: UtmĂ€rkt. VĂ€nligen kolla i din personliga bok med hemliga koder, sida


(Hackern trycker pÄ en knapp; kassörens röst omvandlas till otydlig brus).

Kassör: — #@$#@$#*@$$@#* kommer att krypteras med detta ord som nyckel. AAAYRR PLRQRZ MMNJK LOJBAN


Tressler: FörlÄt, jag förstod inte riktigt. Kan du upprepa? Vilken sida? Vilket ord?

Kassör: Det Àr sida @#$@#*$)#*#@()#@$(#@*$(#@*.

Tressler: Vad?

Kassör: Ordningsnummer tjugo @$#@$#%#$.

Tressler: PÄ allvar! Sluta nu! Ditt sÀkerhetsprotokoll Àr ett skÀmt. Jag vet att du kan prata ordentligt med mig.

Kassör: Jag rekommenderar inte


Tressler: Och jag rekommenderar inte att du slösar min tid. Jag vill inte höra mer om det hÀr förrÀn du har löst problemen med din telefonlinje. Kan vi genomföra den hÀr affÀren eller inte?

Kassör:...ja. Bra. Vad önskar du?

Tressler: Jag skulle vilja överföra $20 000 till företaget Lord Business Investments, kontonummer...

Kassör: Ett ögonblick, tack. Det hÀr Àr en stor affÀr. VÀnligen ange din PIN-kod för stora transaktioner.

Tressler: Vad? Åh, just det. 1234.

HÀr kommer en nedÄtgÄende attack. Det svagare protokollet "prata bara rakt" var avsett som alternativ nödlösning. Och ÀndÄ Àr vi hÀr.

Man kan undra vem som Àr i sin rÀtta skapelse som skulle designa ett verkligt system av typen "sÀkert tills du ber om motsatsen", som beskrivs ovan. Men precis som att den fiktiva banken tar en risk för att behÄlla kunder som inte gillar kryptografi, sÄ lutar sig system generellt ofta mot krav som Àr likgiltiga eller till och med öppet fientliga mot sÀkerhet.

En sÄdan historia intrÀffade med protokollet SSLv2 Är 1995. Den amerikanska regeringen hade lÀnge sett pÄ kryptografi som ett vapen som bör hÄllas borta frÄn bÄde externa och interna fiender. Separata kodbitar godkÀndes för export frÄn USA, ofta under förutsÀttning att algoritmen medvetet försvagades. Företaget Netscape, utvecklaren av den mest populÀra webblÀsaren Netscape Navigator, fick tillstÄnd att anvÀnda SSLv2 endast med en ursprungligen sÄrbar RSA 512-bitars nyckel (och 40 bitar för RC4).

I slutet av Ärtusendet mjukades reglerna upp och tillgÄngen till modern kryptering blev allmÀnt tillgÀnglig. Trots detta fortsatte klienter och servrar under mÄnga Är att stödja den försvagade "exportkrypteringen" pÄ grund av samma tröghet som gör att gammal teknik fortsÀtter att stödjas. Klienterna antog att de kunde stöta pÄ servrar som inte stödde nÄgot annat. Servrar gjorde detsamma. SjÀlvklart föreskriver SSL-protokollet att klienter och servrar aldrig ska anvÀnda ett svagt protokoll nÀr ett bÀttre Àr tillgÀngligt. Men samma förutsÀttning gÀllde för Tresstler och hans bank.

Denna teori tillÀmpades i tvÄ uppmÀrksammade attacker som pÄ rad skakade sÀkerheten i SSL-protokollet under 2015, bÄda upptÀcktes av forskare frÄn Microsoft och INRIA. Först avslöjades detaljer om FREAK-attacken i februari, och tre mÄnader senare kom en annan liknande attack kallad Logjam, som vi kommer att diskutera mer ingÄende nÀr vi gÄr vidare till attacker pÄ offentliga nycklar.

Kryptografiska attacker: en förklaring för förvirrade sinnenSĂ„rbarhet FREAK (Ă€ven kĂ€nd som "Smack TLS") uppstod nĂ€r forskare analyserade TLS-klient/serverimplementationer och upptĂ€ckte en intressant bugg. I dessa implementationer, om klienten inte ens begĂ€r att anvĂ€nda svag exportkryptering, men servern Ă€ndĂ„ svarar med sĂ„dana nycklar – sĂ€ger klienten "Okej dĂ„" och gĂ„r över till en svag krypteringsuppsĂ€ttning.

Vid den tiden ansĂ„gs exportkryptografi vara förĂ„ldrad och förbjuden att anvĂ€nda, sĂ„ attacken blev en riktig chock och pĂ„verkade mĂ„nga viktiga domĂ€ner, inklusive Vita husets, USAs skatteverks och NSA:s webbplatser. Ännu vĂ€rre var att mĂ„nga sĂ„rbara servrar optimerade prestanda genom att Ă„teranvĂ€nda samma nycklar istĂ€llet för att skapa nya för varje session. Detta gjorde det möjligt att genomföra en ytterligare attack med förberĂ€kning efter att protokollet hade sĂ€nkts: att knĂ€cka en enda nyckel var fortfarande relativt dyrt (100 USD och 12 timmar vid publiceringstillfĂ€llet), men den praktiska kostnaden för attacken pĂ„ en anslutning minskade betydligt. Det rĂ€ckte med att knĂ€cka servernyckeln en gĂ„ng - och kryptera för alla efterföljande anslutningar frĂ„n det ögonblicket.

Och innan vi gÄr vidare bör en avancerad attack nÀmnas ...

Orakelsattacken

Kryptografiska attacker: en förklaring för förvirrade sinnenMoxie Marlinspike Àr mest kÀnd som fadern till den plattformsoberoende kryptomeddelaren Signal; men personligen gillar vi en av hans mindre kÀnda innovationer - principen för kryptografisk död (Cryptographic Doom Principle). Lite omformulerat kan man sÀga sÄ hÀr: "Om ett protokoll utför nÄgon kryptografisk operation pÄ meddelande frÄn en potentiellt skadlig kÀlla och beter sig pÄ ett olika sÀtt beroende pÄ utfallet, sÄ Àr det dömt att misslyckas." Eller i en mer drastisk form: "Ta inte emot information frÄn fienden för bearbetning, och om du mÄste, visa Ätminstone inte resultatet."

Vi lÀmnar buffertöverflöden, kommandoinjektioner och liknande Ät sidan; de ligger utanför denna diskussion. Att bryta mot "principen för död" leder till allvarliga kryptografiska intrÄng eftersom protokollet beter sig precis som det Àr avsett.

Som exempel tar vi en pĂ„hittad konstruktion med en sĂ„rbar substitutionskryptering och visar sedan en möjlig attack. Även om vi redan har sett en attack pĂ„ substitutionskrypteringen med hjĂ€lp av frekvensanalys, Ă€r detta inte bara "ett annat sĂ€tt att bryta samma kryptering". TvĂ€rtom, orakelsattacker Ă€r en mycket mer modern uppfinning, tillĂ€mplig i mĂ„nga situationer dĂ€r frekvensanalys misslyckas, och vi kommer att se en demonstration av detta i nĂ€sta avsnitt. HĂ€r Ă€r den enkla krypteringen vald enbart för att göra exemplet tydligare.

SÄ, Alice och Bob kommunicerar med hjÀlp av en enkel substitutionschiffer, som anvÀnder en nyckel som bara de kÀnner till. De Àr mycket strikta med lÀngden pÄ meddelanden: deras lÀngd Àr exakt 20 tecken. SÄ de kom överens om att om nÄgon vill skicka ett kortare meddelande, mÄste de lÀgga till nÄgon slags fejktext i slutet av meddelandet sÄ att det blir exakt 20 tecken. Efter en del diskussion bestÀmde de att de endast skulle acceptera följande fejktexter: a, bb, ccc, dddd och sÄ vidare. PÄ sÄ sÀtt Àr den fejkade texten kÀnd i alla nödvÀndiga lÀngder.

NÀr Alice eller Bob fÄr ett meddelande kontrollerar de först att meddelandet har rÀtt lÀngd (20 tecken) och att suffixet Àr rÀtt fejktext. Om inte, svarar de med ett motsvarande felmeddelande. Om lÀngden pÄ texten och fejktexten Àr ok, lÀser mottagaren meddelandet och skickar ett krypterat svar.

Under attacken lĂ„tsas en angripare vara Bob och skickar falska meddelanden till Alice. Meddelandena Ă€r rena nonsens – angriparen har ingen nyckel och kan dĂ€rför inte förfalska ett meningsfullt meddelande. Men eftersom protokollet bryter mot osĂ€kerhetsprincipen kan angriparen Ă€ndĂ„ lura Alice att avslöja information om nyckeln, som visas nedan.

Hacker: PREWF ZHJKL MMMN. LA

Alice: Ogiltig fejktext.

Hacker: PREWF ZHJKL MMMN. LB

Alice: Ogiltig fejktext.

Hacker: PREWF ZHJKL MMMN. LC

Alice: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Angriparen har ingen aning om vad Alice just sa, men noterar att tecknet C mÄste matcha a, eftersom Alice accepterade fejktexten.

Hacker: REWF ZHJKL MMMN. LAA

Alice: Ogiltig fejktext.

Hacker: REWF ZHJKL MMMN. LBB

Alice: Ogiltig fejktext.

Efter flera försök


Hacker: REWF ZHJKL MMMN. LGG

Alice: Ogiltig fejktext.

Hacker: REWF ZHJKL MMMN. LHH

Alice: TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.

Återigen har angriparen ingen aning om vad Alice just sa, men noterar att H mĂ„ste matcha med b, eftersom Alice accepterade fejktexten.

Och sÄ vidare, tills angriparen lÀr sig betydelsen av varje tecken.

Vid första anblick verkar metoden likna en attack baserad pĂ„ anpassad klartext. I slutĂ€ndan försöker angriparen att fĂ„ fram chiffertext, och servern bearbetar dem lydigt. Den grundlĂ€ggande skillnaden som gör dessa attacker möjliga i verkliga situationer Ă€r att angriparen inte behöver tillgĂ„ng till den faktiska avkodningen – det rĂ€cker med ett svar frĂ„n servern, Ă€ven om det Ă€r nĂ„got sĂ„ ofarligt som "Felaktig dummytext".

Även om denna specifika attack Ă€r lĂ€rorik, bör man inte fokusera för mycket pĂ„ detaljerna i "dummytextschemat", den specifika kryptografiska metoden som anvĂ€nds eller den exakta sekvensen av meddelanden som skickas av angriparen. HuvidpoĂ€ngen Ă€r hur Alice reagerar pĂ„ olika sĂ€tt beroende pĂ„ egenskaperna hos klartexten, och gör detta utan att kontrollera att den motsvarande chiffertexten faktiskt har mottagits frĂ„n en betrodd part. PĂ„ sĂ„ sĂ€tt lĂ„ter Alice angriparen pressa ut hemlig information frĂ„n hennes svar.

Mycket kan förĂ€ndras i det hĂ€r scenariot. Symbolerna som Alice reagerar pĂ„, skillnaderna i hennes beteende eller till och med den kryptografiska metoden som anvĂ€nds. Men principen förblir densamma, och attacken kommer överlag att förbli möjlig i nĂ„gon form. Den grundlĂ€ggande implementationen av denna attack har hjĂ€lpt till att avslöja flera sĂ€kerhetsbrister som vi snart kommer att undersöka; men först bör vi ta till oss nĂ„gra teoretiska lĂ€rdomar. Hur kan detta pĂ„hittade "Alicescenario" anvĂ€ndas i en attack som kan fungera pĂ„ ett verkligt modernt chiffer? Är detta ens möjligt, Ă€ven i teorin?

År 1998 bekrĂ€ftade den schweiziska kryptografen Daniel Bleichenbacher denna frĂ„ga. Han demonstrerade en orakelsattack i det allmĂ€nt anvĂ€nda offentliga nyckelsystemet RSA, med en viss meddelandeschema. I vissa implementationer av RSA svarar servern med olika felmeddelanden, beroende pĂ„ om klartexten överensstĂ€mmer med schemat eller inte; det var tillrĂ€ckligt för att genomföra en attack.

Fyra Ă„r senare, 2002, demonstrerade den franska kryptografen Serge Vaudenay en orakelsattack som nĂ€stan var identisk med den som beskrivs ovan i Alicias scenario – med den skillnaden att han istĂ€llet för en pĂ„hittad kryptering knĂ€ckte en hel respektabel klass av moderna krypteringar som mĂ€nniskor faktiskt anvĂ€nder. Specifikt riktar sig Vaudenays attack mot krypton med fast inmatningsstorlek ("blockkryptering") nĂ€r de anvĂ€nds i det som kallas "CBC-krypteringslĂ€ge" och med ett visst populĂ€rt fyllnadsschema, som huvudsakligen motsvarar det i Alicias scenario.

Även 2002 föreslog den amerikanske kryptografen John Kelsey – medförfattare Twofish – olika orakelsattacker pĂ„ system som komprimerar meddelanden och sedan krypterar dem. Den mest anmĂ€rkningsvĂ€rda bland dem var en attack som utnyttjade det faktum att man ofta kan dra slutsatsen om den ursprungliga lĂ€ngden pĂ„ klartexten frĂ„n lĂ€ngden pĂ„ den krypterade texten. I teorin gör detta det möjligt att genomföra en orakelsattack som Ă„terskapar delar av den ursprungliga klartexten.

Nedan ger vi en mer detaljerad beskrivning av Vaudenays och Kelseys attacker (vi kommer att ge en mer detaljerad beskrivning av BlаĐčŃ…Đ”ĐœĐ±Đ°Ń…ers attack nĂ€r vi gĂ„r till attacker mot offentlig nyckelkryptografi). Trots vĂ„ra anstrĂ€ngningar blir texten nĂ„got teknisk; dĂ€rför, om det som ovan rĂ€cker för dig, hoppa över de följande tvĂ„ avsnitten.

Vaudenays attack

För att förstÄ Vaudenays attack behöver vi först prata lite mer om blockkrypteringar och krypteringslÀgen. "Blockkryptering" Àr, som nÀmnts tidigare, en kryptering som tar en nyckel och en inmatning av viss fast lÀngd ("blocklÀngd") och ger en krypterad block av samma lÀngd. Blockkrypteringar Àr mycket anvÀnda och anses relativt sÀkra. Det numera pensionerade DES, som anses vara den första moderna krypteringen, var en blockkryptering. Samma sak gÀller för AES, som Àr allmÀnt anvÀnt idag.

TyvÀrr har blockchiffer en Äpenbar svaghet. Typisk blockstorlek Àr 128 bitar, eller 16 tecken. Det Àr uppenbart att modern kryptering krÀver att man arbetar med indata av större storlek, och det Àr hÀr krypteringslÀgena kommer in i bilden. KrypteringslÀge Àr i huvudsak en hack; det Àr ett sÀtt att pÄ nÄgot sÀtt tillÀmpa ett blockchiffer, som tar emot indata av en viss storlek, pÄ indata av godtycklig lÀngd.

Vodena-attacken riktar sig mot det populÀra lÀget CBC (Cipher Block Chaining, blockkedjande chiffer). Attacken betraktar det underliggande blockchiffret som en magisk, oÄtkomlig svart ruta och kringgÄr helt dess sÀkerhet.

HÀr Àr en diagram som visar hur CBC-lÀget fungerar:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Kryptografiska attacker: en förklaring för förvirrade sinnen

En omgiven plussymbol betyder XOR-operationen (exklusivt "eller"). Till exempel, den andra blocken av chiffertexten erhölls genom:

  1. Att utföra XOR-operationen pÄ den andra blocken av klartexten med den första blocken av chiffertexten.
  2. Att kryptera den erhÄllna blocken med hjÀlp av blockchiffret, med nyckeln.

Eftersom CBC utnyttjar XOR-binÀra operationen sÄ intensivt, lÄt oss ta tillfÀllet i akt att pÄminna oss om nÄgra av dess egenskaper:

  • Idempotens: Kryptografiska attacker: en förklaring för förvirrade sinnen
  • Kommutativitet: Kryptografiska attacker: en förklaring för förvirrade sinnen
  • Associativitet: Kryptografiska attacker: en förklaring för förvirrade sinnen
  • SjĂ€lvöverföring: Kryptografiska attacker: en förklaring för förvirrade sinnen
  • Byte för byte: byte n frĂ„n Kryptografiska attacker: en förklaring för förvirrade sinnen = (byte n frĂ„n Kryptografiska attacker: en förklaring för förvirrade sinnen) Kryptografiska attacker: en förklaring för förvirrade sinnen (byte n frĂ„n Kryptografiska attacker: en förklaring för förvirrade sinnen)

Generellt innebÀr dessa egenskaper att om vi har en ekvation som inkluderar XOR-operationer och ett okÀnt, kan det lösas. Till exempel, om vi vet att Kryptografiska attacker: en förklaring för förvirrade sinnen med ett okÀnt Kryptografiska attacker: en förklaring för förvirrade sinnen och kÀnda Kryptografiska attacker: en förklaring för förvirrade sinnen och Kryptografiska attacker: en förklaring för förvirrade sinnen, sÄ kan vi luta oss mot de ovan nÀmnda egenskaperna för att lösa ekvationen för Kryptografiska attacker: en förklaring för förvirrade sinnen. Genom att tillÀmpa XOR pÄ bÄda sidor av ekvationen med Kryptografiska attacker: en förklaring för förvirrade sinnen, fÄr vi Kryptografiska attacker: en förklaring för förvirrade sinnen. Om ett ögonblick kommer allt detta att bli mycket relevant.

Det finns tvÄ obetydliga skillnader och en huvudskillnad mellan vÄrt Alice-scenario och Vodena-attacken. De tvÄ obetydliga:

  • I scenariot förvĂ€ntade sig Alice att klartexterna slutade med tecken a, bb, ccc och sĂ„ vidare. I Vodena-attacken förvĂ€ntar sig offret istĂ€llet att klartexterna slutar med N gĂ„nger byte N (det vill sĂ€ga hexadecimalt 01 eller 02 02, eller 03 03 03 och sĂ„ vidare). Detta Ă€r en rent kosmetisk skillnad.
  • I Alice-scenariot var det enkelt att avgöra om Alice tog emot meddelandet, utifrĂ„n svaret "Fel falsk text". I Vodene-angreppet krĂ€vs en större analys och det Ă€r viktigt med en exakt implementering pĂ„ offrets sida; men för korthetens skull antar vi att denna analys fortfarande Ă€r möjlig.

Det frÀmsta skillnaden:

  • Eftersom vi inte anvĂ€nder samma kryptosystem kommer sambandet mellan de kontrollerade byte som angriparen har av den krypterade texten och hemligheterna (nyckeln och klartexten) att vara annorlunda. DĂ€rför mĂ„ste angriparen anvĂ€nda en annan strategi för att skapa chiffertext och tolka serverns svar.

Den hÀr huvudskillnaden Àr den sista biten av pusslet för att förstÄ Vodene-angreppet, sÄ lÄt oss för ett ögonblick tÀnka pÄ varför och hur ett orakelangrepp pÄ CBC kan organiseras överhuvudtaget.

LĂ„t oss anta att vi har en CBC-chiffertext med 247 block, och vi vill dekryptera den. Vi kan skicka falska meddelanden till servern, precis som vi tidigare kunde skicka falska meddelanden till Alice. Servern kommer att dekryptera meddelandena för oss, men kommer inte att visa dekrypteringen – istĂ€llet, Ă„terigen som i fallet med Alice, kommer servern bara att ge oss en bit information: om klartexten har en giltig fyllning eller inte.

TÀnk pÄ att vi i Alice-scenariot hade följande relationer:

$$display$$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key}) = text{plaintext}$$display$$

Vi kallar detta "Alices ekvation". Vi kontrollerade chiffertexten; servern (Alice) lĂ€ckte vag information om den mottagna klartexten; och detta gjorde att vi kunde hĂ€rleda information om den sista faktorn – nyckeln. PĂ„ samma sĂ€tt, om vi kan hitta ett sĂ„dant samband för CBC-scenariot, kan vi extrahera viss hemlig information dĂ€r ocksĂ„.

Lyckligtvis finns det verkligen relationer som vi kan anvÀnda. LÄt oss titta pÄ utdata frÄn den slutliga dekrypteringsanropen av blockchiffret och kalla dessa data för Kryptografiska attacker: en förklaring för förvirrade sinnen. LÄt oss ocksÄ kalla blocken av klartext Kryptografiska attacker: en förklaring för förvirrade sinnen och blocken av chiffertext Kryptografiska attacker: en förklaring för förvirrade sinnen. Ta en titt pÄ CBC-diagrammet igen och notera vad som uppstÄr:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Vi kallar detta "CBC-ekvationen".

I Alice-scenariet, dÀr vi kontrollerar chiffertexten och övervakar lÀckan av information om den motsvarande öppna texten, kunde vi organisera en attack som ÄterstÀllde den tredje termen i ekvationen - nyckeln. I CBC-scenariot kontrollerar vi ocksÄ chiffertexten och observerar lÀckor av information om den motsvarande öppna texten. Om analogin stÀmmer kan vi fÄ information om Kryptografiska attacker: en förklaring för förvirrade sinnen.

Anta att vi faktiskt har ÄterstÀllt Kryptografiska attacker: en förklaring för förvirrade sinnen, vad skulle dÄ hÀnda? Tja, dÄ kan vi direkt Äterge hela den senaste blocket av den öppna texten (Kryptografiska attacker: en förklaring för förvirrade sinnen), bara genom att ge Kryptografiska attacker: en förklaring för förvirrade sinnen (som vi har) och
den erhÄllna Kryptografiska attacker: en förklaring för förvirrade sinnen i CBC-ekvationen.

SÄ vi Àr optimistiskt instÀllda pÄ den övergripande attackplanen, och det har blivit dags att arbeta med detaljerna. Vi noterar pÄ vilket exakt sÀtt information om den öppna texten lÀcker frÄn servern. I Alice-scenariot intrÀffade lÀckan eftersom Alice endast svarade med det korrekta meddelandet om $inline$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key})$inline$ slutade med strÀngen a (eller bb, och sÄ vidare, men chansen för ett slumpmÀssigt utfall av dessa villkor var mycket liten). PÄ samma sÀtt med CBC, accepterar servern att fylla i om och endast om Kryptografiska attacker: en förklaring för förvirrade sinnen slutar med hexadecimala 01. SÄ lÄt oss prova samma trick: att skicka fejkade chiffertexter med vÄra egna fejkade vÀrden Kryptografiska attacker: en förklaring för förvirrade sinnen, tills servern accepterar fyllningen.

NÀr servern accepterar fyllningen för ett av vÄra fejkade meddelanden betyder det att:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Nu anvÀnder vi egenskapen av byte-för-byte XOR:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Vi kÀnner till den första och tredje termen. Och vi har redan sett att detta gör att vi kan ÄterstÀlla den kvarvarande termen - den sista byten frÄn Kryptografiska attacker: en förklaring för förvirrade sinnen:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Detta ger oss ocksÄ den sista byten av den slutliga blocken av den öppna texten genom CBC-ekvationen och egenskapen av byte-för-byte.

Vi skulle kunna avsluta hÀr och nöja oss med att ha genomfört en attack pÄ en teoretiskt sÀker chiffer. Men faktiskt kan vi göra mycket mer: vi kan verkligen ÄterstÀlla hela texten. Det krÀver ett visst trick som inte fanns med i det ursprungliga Alice-scenariet och som inte ingÄr i de obligatoriska villkoren för orakelangrepp, men metoden Àr fortfarande vÀrd att studera.

För att förstĂ„ det, observera först att resultatet av att hĂ€rleda det korrekta vĂ€rdet för den sista byten Kryptografiska attacker: en förklaring för förvirrade sinnen Vi har fĂ„tt en ny möjlighet. Nu, nĂ€r det gĂ€ller att förfalska chiffertexter, kan vi manipulera den sista byten av den motsvarande öppna texten. Återigen beror detta pĂ„ CBC-ekvationen och egenskapen av bytevis:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Eftersom vi nu kÀnner till den andra termen kan vi anvÀnda vÄr kontroll över den första för att styra den tredje. Vi berÀknar bara:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Tidigare kunde vi inte göra detta, eftersom vi inte hade den sista byten Àn. Kryptografiska attacker: en förklaring för förvirrade sinnen.

Hur hjÀlper oss detta? LÄt oss anta att vi nu kommer att skapa alla chiffertexter sÄ att den motsvarande öppna textens sista byten Àr 02. Nu accepterar servern fyllning endast om den öppna texten slutar pÄ 02 02. Eftersom vi har korrigerat den sista byten kommer detta endast att ske om den nÀst sista byten av den öppna texten ocksÄ Àr 02. Vi fortsÀtter att skicka förfalskade chifferblock och Àndrar den nÀst sista byten tills servern accepterar fyllningen för ett av dem. Vid detta ögonblick fÄr vi:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Och vi ÄterstÀller den nÀst sista byten Kryptografiska attacker: en förklaring för förvirrade sinnen pÄ exakt samma sÀtt som vi ÄterstÀllde den sista. Vi fortsÀtter i samma anda: vi korrigerar de sista tvÄ byten av den öppna texten till 03 03, upprepar denna attack för den tredje frÄn slutet byten och sÄ vidare, och ÄterstÀller sÄ smÄningom helt. Kryptografiska attacker: en förklaring för förvirrade sinnen.

Vad sÀgs om resten av texten? Observera att vÀrdet Kryptografiska attacker: en förklaring för förvirrade sinnen egentligen Àr $inline$text{BLOCK_DECRYPT}(text{key},C_{247})$inline$. Vi kan sÀtta in vilket annat block som helst istÀllet för Kryptografiska attacker: en förklaring för förvirrade sinnen, och attacken kommer fortfarande att vara framgÄngsrik. Faktum Àr att vi kan be servern att utföra $inline$text{BLOCK_DECRYPT}$inline$ för vilken data som helst. Vid detta ögonblick Àr spelet över - vi kan dekryptera vilken chiffertext som helst (titta gÀrna pÄ diagrammet för CBC-dekryptering för att bekrÀfta detta; och observera att IV-vektorn Àr offentlig).

Denna specifika metod spelar en avgörande roll i oracle-attacken som vi kommer att stöta pÄ senare.

Kelsi-attacken

Denna sjÀlsfrÀnde till oss, John Kelsi, redogjorde för principerna bakom mÄnga möjliga attacker, och inte bara detaljerna för en specifik attack mot ett specifikt chiffer. Hans artikel frÄn 2002 Àr en studie av möjliga attacker mot krypterade komprimerade data. Trodde du att det inte rÀcker med att ha information om att data var komprimerad före kryptering för att genomföra en attack? Det visade sig vara tillrÀckligt.

Det hÀr fantastiska resultatet beror pÄ tvÄ principer. För det första finns det en stark korrelation mellan lÀngden pÄ den öppna texten och lÀngden pÄ chiffertexten, vilket för mÄnga chiffer Àr exakt likadant. För det andra, nÀr komprimering utförs, finns det ocksÄ en stark korrelation mellan lÀngden pÄ det komprimerade meddelandet och graden av "brus" i den öppna texten, det vill sÀga andelen unika tecken (den tekniska termen Àr "stor entropi").

För att se principen i praktiken, lÄt oss titta pÄ tvÄ öppna texter:

Öppen text 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Öppen text 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Anta att bÄda öppna texterna komprimeras och sedan krypteras. Du fÄr tvÄ resulterande chiffertexter och mÄste gissa vilken chiffertext som motsvarar vilken öppen text:

Chiffertext 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Chiffertext 2: DWKJZXYU

Svaret Àr tydligt. Bland de öppna texterna kunde endast öppen text 1 ha komprimerats till den korta lÀngden av den andra chiffertexten. Vi kom fram till detta utan att veta nÄgot om komprimeringsalgoritmen, krypteringsnyckeln, eller ens sjÀlva chiffern. JÀmfört med hierarkin av potentiella kryptografiska attacker Àr detta en sorts galenskap.

Kelsey pÄpekar vidare att under vissa ovanliga omstÀndigheter kan denna princip ocksÄ anvÀndas för att genomföra en orakelangrepp. Specifikt beskriver han hur en angripare kan ÄterstÀlla den hemliga öppna texten om han kan fÄ servern att kryptera dataformulÀr (öppen text, följd av Kryptografiska attacker: en förklaring för förvirrade sinnen, medan han kontrollerar Kryptografiska attacker: en förklaring för förvirrade sinnen och pÄ nÄgot sÀtt kan verifiera lÀngden pÄ det krypterade resultatet.

Återigen, som i andra orakelangrepp har vi en relation:

Kryptografiska attacker: en förklaring för förvirrade sinnen

Återigen kontrollerar vi en medlem (Kryptografiska attacker: en förklaring för förvirrade sinnen), ser en liten lĂ€cka av information om en annan medlem (chiffertexten) och försöker Ă„terstĂ€lla den senare (öppen text). Trots likheten Ă€r detta en nĂ„got ovanlig situation jĂ€mfört med andra orakelangrepp som vi har sett.

För att illustrera hur en sÄdan attack kan fungera, anvÀnder vi ett pÄhittat komprimeringssystem som vi just har kommit pÄ: TOYZIP. Det letar efter textstrÀngar som redan har dykt upp tidigare i texten och ersÀtter dem med tre byte-fyllare som anger var man kan hitta ett tidigare exemplar av strÀngen och hur mÄnga gÄnger den förekommer dÀr. Till exempel strÀngen helloworldhello kan komprimeras till helloworld[00][00][05] en lÀngd av 13 byte jÀmfört med originalet pÄ 15 byte.

Anta att en hackare försöker Ă„terstĂ€lla den öppna texten i formulĂ€ret password=..., dĂ€r sjĂ€lva lösenordet Ă€r okĂ€nt. Enligt Kelsey attackmodellen kan hackaren be servern att komprimera och sedan kryptera formulĂ€rmeddelandena (öppen text följt av Kryptografiska attacker: en förklaring för förvirrade sinnen), dĂ€r Kryptografiska attacker: en förklaring för förvirrade sinnen — Ă€r godtycklig text. NĂ€r servern har slutfört arbetet meddelar den lĂ€ngden pĂ„ resultatet. Attacken gĂ„r till sĂ„ hĂ€r:

Hacker: VÀnligen komprimera och kryptera den öppna texten utan nÄgra padding.

Servern: ResultatlÀngd 14.

Hacker: VÀnligen komprimera och kryptera den öppna texten som har lagts till password=a.

Servern: ResultatlÀngd 18.

Hackaren noterar: [original 14] + [tre byte som ersatte password=] + a

Hacker: VÀnligen komprimera och kryptera den öppna texten som har lagts till password=b.

Servern: ResultatlÀngd 18.

Hacker: VÀnligen komprimera och kryptera den öppna texten som har lagts till password=c.

Servern: ResultatlÀngd 17.

Hackaren noterar: [original 14] + [tre byte som ersatte password=c]. Detta antyder att den ursprungliga öppna texten innehÄller strÀngen password=c. Det vill sÀga att lösenordet börjar med bokstaven c

Hacker: VÀnligen komprimera och kryptera den öppna texten som har lagts till password=ca.

Servern: ResultatlÀngd 18.

Hackaren noterar: [original 14] + [tre byte som ersatte password=c] + a

Hacker: VÀnligen komprimera och kryptera den öppna texten som har lagts till password=cb.

Servern: ResultatlÀngd 18.

(
 en tid senare
)

Hacker: VÀnligen komprimera och kryptera den öppna texten som har lagts till password=co.

Servern: ResultatlÀngd 17.

Hackaren noterar: [original 14] + [tre byte som ersatte password=co]. Enligt samma logik drar hackaren slutsatsen att lösenordet börjar med bokstÀverna co

Och sÄ vidare tills hela lösenordet har ÄterstÀllts.

Det kan vara förstÄeligt för lÀsaren att tro att detta Àr en rent akademisk övning och att ett sÄdant angreppsscenario aldrig kommer att intrÀffa i verkliga vÀrlden. TyvÀrr, som vi snart kommer att se, Àr det bÀst att inte göra nÄgra antaganden inom kryptografi.

MÀrkesÄterkommande sÄrbarheter: CRIME, POODLE, DROWN

Slutligen, efter att ha granskat teorin noggrant, kan vi se hur dessa metoder tillÀmpas i verkliga kryptografiska attacker.

CRIME

Kryptografiska attacker: en förklaring för förvirrade sinnenOm attacken riktar sig mot offerets webblÀsare och nÀtverk, kommer vissa saker att vara enklare och andra - svÄrare. Till exempel Àr det lÀtt att se offret's trafik: det rÀcker med att sitta med dem pÄ samma café med WiFi. Av denna anledning rekommenderas det vanligtvis att potentiella offer (dvs. alla) anvÀnder en krypterad anslutning. Det kommer att vara svÄrare, men fortfarande möjligt, att utföra HTTP-förfrÄgningar i offrets namn till en annan webbplats (till exempel Google). Angriparen mÄste locka offret till en skadlig webbsida med ett skript som gör förfrÄgan. WebblÀsaren kommer automatiskt att tillhandahÄlla motsvarande sessionscookie.

Det verkar otroligt. Om Bob besöker evil.com, kan skriptet pĂ„ denna webbplats verkligen be om att Google skickar Bobs lösenord via e-post till attacker@evil.com? Ну, ĐČ Ń‚Đ”ĐŸŃ€ĐžĐž Ўа, ĐœĐŸ ĐœĐ° ŃĐ°ĐŒĐŸĐŒ ЎДлД ĐœĐ”Ń‚. йаĐșĐŸĐč ŃŃ†Đ”ĐœĐ°Ń€ĐžĐč ĐœĐ°Đ·Ń‹ĐČĐ°Đ”Ń‚ŃŃ атаĐșĐŸĐč ĐœĐ° ĐżĐŸĐŽĐŽĐ”Đ»Đșу ĐŒĐ”Đ¶ŃĐ°ĐčŃ‚ĐŸĐČых Đ·Đ°ĐżŃ€ĐŸŃĐŸĐČ (Cross-Site Request Forgery, CSRF), och det var populĂ€rt runt mitten av 90-talet. Idag, om evil.com nĂ„gon försöker ett sĂ„dant trick, svarar Google (eller vilken respekterad webbplats som helst) vanligtvis: "Bra, men din CSRF-token för den hĂ€r transaktionen kommer att vara... hmm... tre triljoner och sju. VĂ€nligen upprepa detta nummer." Moderna webblĂ€sare tillĂ€mpar nĂ„got som kallas "same-origin policy", vilket innebĂ€r att skript pĂ„ webbplats A inte fĂ„r Ă„tkomst till information som skickas frĂ„n webbplats B. DĂ€rför kan skript pĂ„ evil.com skicka förfrĂ„gningar till google.com, men kan inte lĂ€sa svaren eller faktiskt slutföra transaktionen.

Vi mÄste betona att om Bob inte anvÀnder en krypterad anslutning Àr alla dessa skydd meningslösa. Hackaren kan helt enkelt lÀsa Bobs trafik och ÄterfÄ Googles sessionskaka. Med denna kaka kan han enkelt öppna en ny flik pÄ Google utan att logga ut frÄn sin egen webblÀsare och utge sig för att vara Bob, utan att stöta pÄ besvÀrliga same-origin policyer. Men, tyvÀrr för hackaren, hÀnder detta allt mer sÀllan. Internet har övergripande förklarat krig mot okrypterade anslutningar, och Bobs utgÄende trafik Àr troligen krypterad, oavsett om han gillar det eller inte. Dessutom har trafiken i den initiala implementeringen av protokollet ocksÄ komprimerats innan krypteringen; det var en vanlig praxis för att minska fördröjningen.

HÀr kommer CRIME (Compression Ratio Infoleak Made Easy, enkel lÀcka via kompressionsförhÄllande) in i bilden. En sÄrbarhet som upptÀcktes i september 2012 av sÀkerhetsforskare Juliano Rizzo och Thai Duong. Vi har redan gÄtt igenom hela den teoretiska grunden som gör att vi kan förstÄ vad de gjorde och hur. Hackaren kan fÄ Bobs webblÀsare att skicka förfrÄgningar till Google, och sedan avlyssna svaren i det lokala nÀtverket i komprimerad och krypterad form. SÄ hÀr har vi:

Kryptografiska attacker: en förklaring för förvirrade sinnen

HÀr kontrollerar hackaren förfrÄgan och har Ätkomst till trafiksniffaren, inklusive paketstorlekar. Den pÄhittade scenarion Kelsi har blivit verklighet.

Genom att förstÄ teorin skapade författarna till CRIME en exploit som kan stjÀla sessionscookies för ett brett spektrum av webbplatser, inklusive Gmail, Twitter, Dropbox och Github. SÄrbarheten pÄverkade de flesta moderna webblÀsare, vilket ledde till att patchar slÀpptes som tyst begravde komprimeringsfunktionen i SSL sÄ att den överhuvudtaget inte anvÀndes. Den enda som var skyddad mot sÄrbarheten var den anrika Internet Explorer, som aldrig anvÀnde SSL-komprimering.

POODLE

Kryptografiska attacker: en förklaring för förvirrade sinnenI oktober 2014 vÀckte Googles sÀkerhetsteam uppmÀrksamhet i sÀkerhetssamhÀllet. De lyckades utnyttja en sÄrbarhet i SSL-protokollet som ÄtgÀrdades för mer Àn tio Är sedan.

Det visade sig att trots att den senaste TLSv1.2 fungerade pĂ„ servrarna, sĂ„ lĂ€mnade mĂ„nga stöd för det förĂ„ldrade SSLv3 för bakĂ„tkompatibilitet med Internet Explorer 6. Vi har redan pratat om nedgraderingsattacker, sĂ„ ni kan tĂ€nka er vad som pĂ„gĂ„r. Ett vĂ€lorganiserat sabotage av handskakningsprotokollet – och servrarna Ă€r redo att Ă„tervĂ€nda till det gamla SSLv3, vilket i praktiken avskaffar de senaste 15 Ă„ren av sĂ€kerhetsforskning.

För historisk kontext, hÀr Àr en kort sammanfattning av SSL-historien fram till version 2 av Matthew Green:

Transport Layer Security (TLS) Ă€r det viktigaste sĂ€kerhetsprotokollet pĂ„ internet. [..] nĂ€stan varje transaktion som du genomför pĂ„ internet beror pĂ„ TLS. [..] Men TLS har inte alltid varit TLS. Protokollet började sitt liv i Netscape Communications under namnet "Secure Sockets Layer" eller SSL. Rykten sĂ€ger att den första versionen av SSL var sĂ„ fruktansvĂ€rd att utvecklarna samlade alla kodtryck och begravde dem pĂ„ en hemlig soptipp i New Mexico. Följaktligen Ă€r den första offentliga versionen av SSL faktiskt versionen SSL 2. Den Ă€r ganska skrĂ€ckinjagande, och [..] det var en produkt frĂ„n mitten av 90-talet som moderna kryptografer betraktar som "mörka tider för kryptografi". MĂ„nga av de mest avskyvĂ€rda kryptografiska attackerna som vi kĂ€nner till idag hade Ă€nnu inte upptĂ€ckts. Som en följd var utvecklarna av SSLv2 i princip tvungna att kĂ€nna sig fram i mörkret, och de stötte pĂ„ mĂ„nga fruktansvĂ€rda monster – till deras förfĂ€ran och vĂ„r fördel, eftersom attackerna pĂ„ SSLv2 gav ovĂ€rderliga lĂ€rdomar till nĂ€sta generation av protokoll.

Efter dessa hÀndelser, Är 1996, omarbetade det besvikna företaget Netscape SSL-protokollet frÄn grunden. Resultatet blev SSL version 3, som ÄtgÀrdade flera kÀnda sÀkerhetsproblem med sin föregÄngare.

TyvÀrr för hackare innebÀr "flera" inte "alla". Sammantaget tillhandahöll SSLv3 alla nödvÀndiga byggstenar för att genomföra en VodenÀ-attack. Protokollet anvÀnde en blockchiffer i CBC-lÀge och en osÀker fyllningsschema (detta ÄtgÀrdades i TLS; dÀrav behovet av en nedgraderingsattack). Om du minns fyllningsschemat i vÄr ursprungliga beskrivning av VodenÀ-attacken, sÄ Àr SSLv3:s schema mycket likt.

Men, tyvÀrr för hackare, betyder "liknande" inte "identisk". Fyllningsschemat för SSLv3 ser ut sÄ hÀr: "N godtyckliga byte, följt av nummer N". Försök i sÄdana förhÄllanden att vÀlja en imaginÀr block av krypterad text och gÄ igenom alla steg i det ursprungliga VodenÀ-schemat: du kommer att upptÀcka att attacken framgÄngsrikt extraherar det sista bytet frÄn motsvarande block av klartext, men inte lÀngre. Att dekryptera varje 16:e byte av den krypterade texten Àr ett utmÀrkt trick, men det Àr ingen seger.

Konfronterad med misslyckandet valde Google-teamet det extrema alternativet: de vĂ€xlade till en kraftfullare hotmodell — den som anvĂ€ndes i CRIME. Anta att angriparen Ă€r ett skript som körs pĂ„ offrets webblĂ€sartab och att det kan extrahera sessionscookies, attacken förblir Ă€ndĂ„ imponerande. Även om den bredare hotmodellen Ă€r mindre realistisk, har vi redan sett i föregĂ„ende avsnitt att just denna specifika modell Ă€r genomförbar.

Med tanke pÄ dessa kraftfulla möjligheter för hackaren kan attacken nu fortsÀtta. Observera att angriparen vet var den krypterade sessionens cookie-fil visas i rubriken, och han kontrollerar lÀngden pÄ den föregÄende HTTP-förfrÄgan. DÀrför kan han manipulera HTTP-förfrÄgan sÄ att den sista byten av cookien justeras med slutet av blocket. Nu Àr denna byte redo för avkodning. Man kan helt enkelt lÀgga till en symbol till begÀran, och den nÀst sista byten av cookien förblir pÄ samma plats och kan anvÀndas för att pröva detsamma. Attacken fortsÀtter pÄ detta sÀtt tills cookie-filen Àr helt ÄterstÀlld. Detta kallas POODLE: Padding Oracle on Downgraded Legacy Encryption.

DROWN

Kryptografiska attacker: en förklaring för förvirrade sinnenSom vi redan nÀmnt hade SSLv3 brister, men den skilde sig radikalt frÄn sin föregÄngare, eftersom det lÀckande SSLv2 var en produkt frÄn en annan tid. DÀr kunde man avbryta meddelandet i mitten: jag gÄr med pÄ det bara över min död förvandlades till jag gÄr med pÄ det; klient och server kunde mötas pÄ internet, etablera förtroende och utbyta hemligheter inför ögonen pÄ en angripare, som sedan lÀtt kunde utge sig för bÄde den ena och den andra. Det fanns ocksÄ problem med exportkryptografi, som vi nÀmnde nÀr vi diskuterade FREAK. Det var kryptografiskt Sodom och Gomorra.

I mars 2016 samlades ett team av forskare frÄn olika tekniska omrÄden och gjorde en anmÀrkningsvÀrd upptÀckte: SSLv2 anvÀnds fortfarande i sÀkerhetssystem. Ja, angripare kunde inte lÀngre sÀnka moderna TLS-sessioner till SSLv2, eftersom denna lucka stÀngdes efter FREAK och POODLE, men de kan fortfarande ansluta till servrar och initiera SSLv2-sessioner sjÀlva.

Du kanske frĂ„gar, vad bryr vi oss om vad de gör dĂ€r? De har en sĂ„rbar session, men det borde inte pĂ„verka andra sessioner eller serverns sĂ€kerhet — eller hur? Tja, inte riktigt. Ja, sĂ„ borde det vara i teorin. Men nej — för att generering av SSL-certifikat medför en viss börda, vilket gör att mĂ„nga servrar anvĂ€nder samma certifikat och dĂ€rmed samma RSA-nycklar för TLS- och SSLv2-anslutningar. Vad som Ă€r Ă€nnu vĂ€rre, pĂ„ grund av en bugg i OpenSSL fungerade faktiskt alternativet 'StĂ€ng av SSLv2' inte i denna populĂ€ra implementation av SSL.

Det möjliggjorde en korsprotokollattack pÄ TLS, som kallades DROWN (Decrypting RSA with Obsolete and Weakened eNcryption, avkoda RSA med förÄldrad och försvagad kryptering). Vi pÄminner om att detta inte Àr detsamma som en nedgraderingsattack; hackaren behöver inte agera som «man-in-the-middle» och behöver inte involvera klienten för att delta i en osÀker session. Brottslingar initierar helt enkelt sjÀlva en osÀker SSLv2-session med servern, attackerar den svaga protokollen och ÄterstÀller den privata RSA-servernyckeln. Denna nyckel Àr ocksÄ giltig för TLS-anslutningar, och frÄn och med detta ögonblick kan ingen TLS-sÀkerhet rÀdda den frÄn att hackas.

Men för att hacka krĂ€vs en fungerande attack mot SSLv2 som Ă„terstĂ€ller inte bara specifik trafik utan Ă€ven den hemliga RSA-servernyckeln. Även om detta Ă€r en komplex uppgift kunde forskarna vĂ€lja vilken sĂ„rbarhet som helst som fullstĂ€ndigt stĂ€ngdes efter SSLv2. I slutĂ€ndan fann de ett lĂ€mpligt alternativ: Bleichenbacher-attacken, som vi nĂ€mnde tidigare och kommer att förklara mer detaljerat i nĂ€sta artikel. SSL och TLS Ă€r skyddade mot denna attack, men vissa slumpmĂ€ssiga funktioner i SSL i kombination med korta nycklar i exportklasskryptering gjorde det möjligt för en viss implementering av DROWN.

Vid tidpunkten för publiceringen var 25 % av de största webbplatserna pÄ internet sÄrbara för DROWN, och attacken kunde genomföras med blygsamma resurser, tillgÀngliga Àven för busiga hackare. För att extrahera serverns RSA-nyckel krÀvdes Ätta timmars berÀkningar och $440, och SSLv2 Àndrade status frÄn «förÄldrad» till «radioaktiv».

VÀnta, vad sÀgs om Heartbleed?

Det Àr inte en kryptografisk attack i den mening som beskrivits ovan; det handlar om en buffertöverflöd.

LÄt oss ta en paus

Vi började med nÄgra grundlÀggande metoder: brute force, interpolation, nedgradering, korsprotokoll och förberÀkningar. Sedan granskade vi en avancerad teknik, som kanske Àr huvudkomponenten i moderna kryptografiska attacker: orakelattacken. Vi har Àgnat ganska mycket tid Ät den - och förstÄtt inte bara principen bakom, utan ocksÄ de tekniska detaljerna i tvÄ specifika implementationer: Vadena-attacken pÄ CBC-krypteringslÀge och Kelsis attacker pÄ krypteringsprotokoll med förkomprimering.

I sammanfattning av attacker mot nedgradering och med förhandsberÀkningar, har vi kort beskrivit FREAK-attacken som anvÀnder bÄda metoderna, eftersom de mÄlsatta sidorna faller tillbaka till svaga nycklar och sedan ÄteranvÀnder samma nycklar. För nÀsta artikel har vi lÀmnat (mycket liknande) Logjam-attacken, som riktar sig mot algoritmer med offentliga nycklar.

Sedan granskade vi ytterligare tre exempel pÄ tillÀmpningen av dessa principer. Först CRIME och POODLE: tvÄ attacker som förlitade sig pÄ angriparens förmÄga att injicera godtycklig klartext bredvid mÄl-klartexten, för att sedan studera serverns svar och sedan, med hjÀlp av orakelattackens metodologi, anvÀnda denna magra information för delvis ÄterstÀllning av klartexten. CRIME följde Kelsey-attackens vÀg mot SSL-komprimering, medan POODLE istÀllet anvÀnde en variant av VodehnÀs attack mot CBC med samma effekt.

DÀrefter uppmÀrksammade vi den korsprotokollattack DROWN, som upprÀttar en anslutning med servern via den förÄldrade protokollet SSLv2 och sedan ÄterhÄller serverns hemliga nycklar med hjÀlp av Bleichenbachers attack. Vid detta tillfÀlle har vi utelÀmnat de tekniska detaljerna för denna attack; precis som Logjam fÄr den vÀnta tills vi noggrant har studerat kryptosystem med offentliga nycklar och deras sÄrbarheter.

I nÀsta artikel kommer vi att diskutera avancerade attacker - sÄsom meet-in-the-middle-metoden, differentialkryptoanalys och födelsedagsattacken. Vi gör ett kort besök vid attacker genom sidokanaler, och sedan börjar vi pÄ det mest intressanta - kryptosystem med offentliga nycklar.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster