It probleem is direkt oanwêzich yn 'e TLS-spesifikaasje en hat allinich ynfloed op ferbiningen mei sifers basearre op it DH-kaai-útwikselprotokol (Diffie-Hellman, TLS_DH_*"). Mei ECDH-sifers komt it probleem net foar en bliuwe se feilich. Allinich TLS-protokollen oant ferzje 1.2 binne kwetsber; TLS 1.3 wurdt net beynfloede troch it probleem. De kwetsberens komt foar yn TLS-ymplemintaasjes dy't de geheime DH-kaai opnij brûke oer ferskate TLS-ferbiningen (dit gedrach komt foar op sawat 4.4% fan Alexa Top 1M-tsjinners).
Yn OpenSSL 1.0.2e en eardere releases wurdt de primêre DH-kaai opnij brûkt yn alle tsjinnerferbiningen, útsein as de opsje SSL_OP_SINGLE_DH_USE eksplisyt ynsteld is. Sûnt OpenSSL 1.0.2f wurdt de primêre DH-kaai allinich opnij brûkt by it brûken fan statyske DH-sifers ("DH-*", bygelyks "DH-RSA-AES256-SHA"). De kwetsberens ferskynt net yn OpenSSL 1.1.1, om't dizze tûke gjin DH-primêre kaai brûkt en gjin statyske DH-sifers brûkt.
By it brûken fan de DH kaai útwikseling metoade, beide kanten fan de ferbining generearje willekeurige privee kaaien (hjirnei kaai "a" en kaai "b"), basearre op hokker iepenbiere kaaien (ga mod p en gb mod p) wurde berekkene en ferstjoerd. Nei't elke partij de iepenbiere kaaien ûntfangt, wurdt in mienskiplike primêre kaai (gab mod p) berekkene, dy't brûkt wurdt om sesjekaaien te generearjen. De Raccoon-oanfal lit jo de primêre kaai bepale fia side-kanaalanalyse, basearre op it feit dat de TLS-spesifikaasjes oant ferzje 1.2 fereaskje dat alle liedende nulbytes fan 'e primêre kaai wurde ferwidere foardat berekkeningen dêrby binne.
Ynklusyf de ôfkoarte primêre kaai wurdt trochjûn oan de sesjekaaigeneraasjefunksje, dy't basearre is op hashfunksjes mei ferskate fertragingen by it ferwurkjen fan ferskate gegevens. Akkuraat mjitten fan de timing fan kaai operaasjes útfierd troch de tsjinner lit de oanfaller te bepalen oanwizings (oracle) dy't meitsje it mooglik om te oardieljen oft de primêre kaai begjint fanôf it begjin of net. Bygelyks, in oanfaller koe de iepenbiere kaai (ga) ûnderskeppe dy't troch de kliïnt stjoerd is, it opnij oerstjoere nei de tsjinner en bepale
oft de resultearjende primêre kaai begjint fan nul.
Op himsels jout it definiearjen fan ien byte fan 'e kaai neat, mar troch de "ga"-wearde te ûnderskeppen dy't troch de kliïnt oerbrocht wurdt tidens ferbiningsûnderhanneling, kin de oanfaller in set fan oare wearden generearje dy't ferbûn binne mei "ga" en stjoere se nei de tsjinner yn aparte ferbining ûnderhannelings sesjes. Troch "gri*ga"-wearden te generearjen en te ferstjoeren, kin in oanfaller, troch it analysearjen fan feroaringen yn fertragingen yn 'e serverantwurd, de wearden bepale dy't liede ta it ûntfangen fan primêre kaaien begjinnend fan nul. Nei it fêststellen fan sokke wearden, de oanfaller kin meitsje in set fan fergelikingen foar
OpenSSL kwetsberens
Oanfoljende problemen wurde apart notearre (
Boarne: opennet.ru