Microsoft bo upokojil SHA-1 in RC4

Matej Huš

14. nov 2013 ob 16:49:55

Algoritem RC4 je ena izmed najstarejših tokovnih šifer, ki se še vedno uporablja v starih verzijah protokola TLS in WEP. V RC4 so odkrili že številne ranljivosti, zato je njegova uporaba odsvetovana in se opušča. Raziskovalci so odkrili številne pomanjkljivosti, ki skupaj z naraščanjem računske moči omogočajo praktično izvedbo napadov na RC4. Recimo šifriranje WEP v brezžičnih usmerjevalnikih je že dlje časa mogoče zlomiti sorazmerno hitro (v manj kot dnevu). Obstajajo celo špekulacije, da je NSA v celoti zlomila RC4, kar bi ji omogočilo neomejeno prisluškovanje tudi TLS.

Zaradi teh razlogov je Microsoft izdal priporočilo, da uporabniki RC4 onemogočijo in začno uporabljati druge vrste šifriranja. TLS 1.2 v novi verziji že podpira AES-GCM, ki je bistveno varnejši. V raziskavi, ki jo je opravil Microsoft in je zajela pet milijonov spletnih strani, so odkrili, da jih 43 odstotkov uporablja RC4. Le štiri odstotke strani nujno zahteva uporabo RC4, medtem ko druge delujejo tudi z drugimi vrstami šifriranja. Zato IE11 in Windows 8.1 že privzeto uporabljata TLS 1.2, medtem ko je treba to v ostalih verzijah Windows storiti ročno.

Hkrati se poslavlja tudi SHA-1, ki bo dokončno umrl leta 2016. Tedaj bo Microsoft onemogočil podpisovanje certifikatov z uporabo tega algoritma. SHA-1 je zgoščevalna funkcija (hash function), ki iz vhodnih podatkov generira 160 bitov dolgo zgoščeno verzijo (hash). Tudi v SHA-1 so odkrili številne ranljivosti, ki teoretično omogočajo pripraviti kolizije. S tem izrazom označujemo dva kosa podatkov, ki imata enako zgoščeno vrednost. Ker se pri podpisovanju istovetnost zagotavlja prav z zgoščeno vrednostjo, saj jo vsaka manipulacija vsebine spremeni, algoritem, ki zna poustvariti isto zgoščeno vrednost iz drugih podatkov (oziroma k zlobni kodi takšen dodatek, da bo hash ostal nespremenjen), omogoča napade. V praksi primera kolizije s SHA-1 še ni bilo, a je tveganje preveliko. Zato sta že standardizirana SHA-2, ki je varnejši, a v principu enak, in SHA-3, ki je bistveno varnejši.

V praksi so se napadi s kolizijo že zgodili. Črv Flame je namreč uporabil kolizijo v funkciji MD5, da je podpisal svoje datoteke in s tem sisteme pretental v namestitev, saj so upravičeno domnevali, da je programska oprema iz Microsofta. Ocena čez palec kaže, da bi se lahko prve kolizije v SHA-1 pojavile leta 2018. To bi pomenilo pravo malo katastrofo, saj sicer ne bi omogočalo prisluškovanja prometu, bi pa omogočilo izdajanje lažnih certifikatov in podpisovanje z njimi, kar bi odprlo vrata širjenju malwara po internetu. Da se to ne bo zgodilo, bo SHA-1 leta 2016 romal na smetišče zgodovine.