NSA-Hintertür in Zufallszahlengenerator?

Das NIST (Na­tio­nal In­sti­tu­te of Stan­dards and Tech­no­lo­gy) hat im März die­sen Jah­res eine Ver­öf­fent­li­chung mit emp­foh­le­nen Al­go­rith­men zur Er­zeu­gung (kryp­to­gra­phisch star­ker) Pseu­do-Zu­falls­zah­len her­aus­ge­ge­ben. Die vier ver­schie­de­nen Ver­fah­ren ba­sie­ren auf un­ter­schied­li­chen, be­kann­ten und wohl­un­ter­such­ten kryp­to­gra­phi­schen Ba­sis­pri­mi­ti­ven (Hash­funk­tio­nen, HMAC, Block­zif­fern, el­lip­ti­sche Kur­ven). Eines der Ver­fah­ren fällt aus der Reihe: Es ist lang­sa­mer als die an­de­ren und scheint nur des­halb ent­hal­ten zu sein, weil es der Fa­vo­rit der NSA ist. In einem Ar­ti­kel bei Wired be­rich­tet Bruce Schnei­er von der Ver­mu­tung, daß die­ses Ver­fah­ren mit einer Hin­ter­tür be­haf­tet sein könn­te.

Das Ver­fah­ren be­nutzt eine Reihe Kon­stan­ten - gibt aber nicht an, woher diese kom­men und wie sie zu­stan­de ge­kom­men sind. Dies er­in­nert an die Ge­schich­te von DES: IBM, wel­che das Ver­fah­ren ent­wi­ckel­te, bat die NSA um Hilfe. Diese ver­kürz­te die Schlüs­sel­län­ge von 128 auf 56 Bit - und än­der­te die Werte der S-Bo­xen des Ver­fah­rens. All das ge­schah ohne An­ga­be von Grün­den. Es wurde lange spe­ku­liert, ob damit eine Hin­ter­tür kon­stru­iert wurde; in­zwi­schen gilt die Theo­rie als be­stä­tigt, daß die ver­än­der­ten S-Bo­xen so re­sis­ten­ter gegen die (da­mals in der Öf­fent­lich­keit noch un­be­kann­te) dif­fe­ren­ti­el­le Kryp­t­ana­ly­se ge­macht wurde.

Dies­mal scheint es je­doch an­ders aus­zu­se­hen: Auf einem Vor­trag führ­ten Dan Shu­mow und Niels Fer­gu­son aus, daß der Al­go­rith­mus eine Schwach­stel­le be­inhal­te, die man nur als Hin­ter­tür be­zeich­nen könne. Die Kon­stan­ten de­fi­nie­ren eine el­lip­ti­sche Kurve; die Kon­stan­ten ba­sie­ren aber auf einem zwei­ten (ge­hei­men) Zah­len­satz, der dazu be­nutzt wer­den kann, das Ver­fah­ren zu bre­chen: Mit Kennt­nis die­ses Zah­len­sat­zes be­nö­tigt man nur 32 Bytes an Zu­falls­zah­len, um den in­ter­nen Zu­stand des Zu­falls­zah­len­ge­ne­ra­tors zu be­stim­men. Damit ist man in der Lage, alle wei­te­ren pro­du­zier­ten Zu­falls­zah­len zu be­rech­nen.

Zu­falls­zah­len spie­len in der Kryp­to­gra­phie eine wich­ti­ge Rolle: Tem­po­rä­re Sit­zungs­schlüs­sel, Chal­len­ge-Re­s­pon­se-Ver­fah­ren, In­itia­li­sie­rungs­vek­to­ren, Non­ces, das Er­zeu­gen von Prim­zah­len - all diese Ver­fah­ren be­nö­ti­gen gute Zu­falls­zah­len. Die kom­plet­te SSL-Ver­schlüs­se­lung einer frü­hen Ver­si­on des Net­scape-Brow­sers konn­te wegen einer Schwä­che in der Er­zeu­gung von Zu­falls­zah­len ge­bro­chen wer­den.