Težava je prisotna neposredno v specifikaciji TLS in vpliva samo na povezave, ki uporabljajo šifre, ki temeljijo na protokolu za izmenjavo ključev DH (Diffie-Hellman, TLS_DH_*"). Pri šifrah ECDH se težava ne pojavi in ostanejo varne. Ranljivi so samo protokoli TLS do različice 1.2; težava ne vpliva na TLS 1.3. Ranljivost se pojavi pri implementacijah TLS, ki ponovno uporabljajo skrivni ključ DH v različnih povezavah TLS (to vedenje se pojavi na približno 4.4 % strežnikov Alexa Top 1M).
V OpenSSL 1.0.2e in starejših izdajah se primarni ključ DH ponovno uporabi v vseh povezavah strežnika, razen če je možnost SSL_OP_SINGLE_DH_USE izrecno nastavljena. Od OpenSSL 1.0.2f dalje se primarni ključ DH ponovno uporablja samo pri uporabi statičnih šifer DH ("DH-*", npr. "DH-RSA-AES256-SHA"). Ranljivost se ne pojavi v OpenSSL 1.1.1, ker ta veja ne uporablja primarnega ključa DH in ne uporablja statičnih šifer DH.
Pri uporabi metode izmenjave ključev DH obe strani povezave generirata naključna zasebna ključa (v nadaljevanju ključ “a” in ključ “b”), na podlagi katerih se izračunata in pošljeta javna ključa (ga mod p in gb mod p). Ko vsaka stranka prejme javne ključe, se izračuna skupni primarni ključ (gab mod p), ki se uporablja za generiranje ključev seje. Napad Raccoon vam omogoča, da določite primarni ključ z analizo stranskega kanala, ki temelji na dejstvu, da specifikacije TLS do različice 1.2 zahtevajo, da se vsi začetni ničelni bajti primarnega ključa zavržejo pred izračuni, ki ga vključujejo.
Vključno s skrajšanim primarnim ključem se posreduje funkciji generiranja ključa seje, ki temelji na zgoščevalnih funkcijah z različnimi zamiki pri obdelavi različnih podatkov. Natančno merjenje časa ključnih operacij, ki jih izvaja strežnik, omogoča napadalcu, da določi namige (orakelj), ki omogočajo presojo, ali se primarni ključ začne iz nič ali ne. Napadalec bi lahko na primer prestregel javni ključ (ga), ki ga pošlje odjemalec, ga ponovno prenese na strežnik in ugotovi
ali se dobljeni primarni ključ začne od nič.
Definiranje enega bajta ključa samo po sebi ne daje ničesar, toda s prestrezanjem vrednosti »ga«, ki jo posreduje odjemalec med pogajanjem o povezavi, lahko napadalec ustvari nabor drugih vrednosti, povezanih z »ga«, in jih pošlje v strežnik v ločenih sejah pogajanj o povezavi. Z generiranjem in pošiljanjem vrednosti "gri*ga" lahko napadalec z analizo sprememb v zakasnitvah v odzivu strežnika določi vrednosti, ki vodijo do prejemanja primarnih ključev od nič. Ko določi takšne vrednosti, lahko napadalec ustvari nabor enačb za
Ranljivosti OpenSSL
Dodatne težave so označene ločeno (
Vir: opennet.ru