Nějak té zprávičce nerozumím. Vyplývá z ní bud, že vývojaři Debianu zanesli do OpenSSL svým patchem chybu a všimli si jí až ted, ale pak nechápu, proč se oprava této chyby musela dostat do hlavní vývojové větve, nebo že v OpenSSL byla už dlouho chyba, kterou vývojaři Debianu opravili už v září 2006 a ted se jim konečně podařilo tuto opravu protlačit do hlavní vývojové větve. V tom případě by ale Debian a všechny odvozené distribuce byly za vodou a název zprávičky je nesmyslný.
Co se tedy vlastně stalo?
1. V zari 2006 vyvojari _debianu_ pri "oprave" cehosi vyrobili vazny bug v openssl
2. Tento bug zustal v _debianu_ jako jejich interni patch a nedostal se zpet k vyvojarum openssl (kteri by jim asi rekli ze je problem)
3. Ted se na to prislo
Lépe to jde vidět přímo z debianího bugu, ale pokusím se udělat rychlé shrnutí (P.S. Je to psané laickým jazykem, tak mě pokud možno nekamenujte za špatnou terminologii, případně mě v klidu opravte v reakci).
Někdy v roce 2006 někdo nahlásil, že programy slinkované s openssl se nedají valgrindem skoro vůbec debugovat, protože to na jednom hodně používaném místě hlásí přístup do neinicializované paměti. Chvíli se to diskutovalo a oprava této chyby nakonec udělala to, že onen kus ze zdrojáků vymazala (zakomentovala).
Bohužel tento kus přidával další entropii do generátoru náhodných čísel a odstraněním této jedné řádky se snížila "náhodnost" generátoru náhodných čísel. Vzhledem k tomu, že z tohoto generátoru vychází další šifry (např. generování RSA, DSA klíčů), tak se snížila bezpečnost těchto klíčů, protože jsou lépe predikovatelné.
S hlavní vývojovou větví to nemá vůbec nic společného.
P.S.: Celá tato záležitost ukazuje ještě na jednu věc - jak je důležité psát komentáře v kódu, který je "divný".
Velice děkuji za podrobnější vysvětlení ... Já vím, že je těžké v zařízení, které je ze své podstaty deterministické získat náhodnou hodnotu, ale nezdá s mi, že čtení/nečtení neinicializované proměnné mělo tak zásadní vliv na výslednou náhodnost :)
To neni uplne presne, umazani prace s neinicializovanou pameti samo o sobe by zadny kriticky dopad nemelo (entropie prece nemuze zaviset jen na tom co je zrovna v ram).
Bohuzel nekde jinde byl pak umazan (zakomentovan) jeste podobny kus kodu a ten zpusobuje tu "kriticnost".
Tak. Výsledkem bylo, že jediným zdrojem entropie byl PID procesu. Tedy maximálně 2^15 bitů. To je opravdu hodně málo - vemte si, že "na první pohled" lze poznat, jestli je nějaký klíč takto postižený nebo ne - máme na to teď v debianu-ubuntu nástroj :-)