Anbefalt krypto-nøkkel kan ha bakdør

Kjente kryptografer advarer mot å bruke en algoritme anbefalt av USAs overvåkere.

Den internasjonalt anerkjente uavhengige kryptografen og sikkerhetseksperten Bruce Schneier publiserte i forrige uke et blogg-innlegg kalt The Strange Story of Dual_EC_DRBG, der han tar opp et tema belyst av to andre amerikanske kryptografer, Dan Shumow og Niels Ferguson, på ekspertkonferansen Crypto 2007 i august.

Dual_EC_DRBG er en algoritme som genererer tilfeldige tall, også kalt slumptall, en av fire som tilhører en ny standard publisert tidligere i år av USAs standardiseringsorgan NIST, National Institute for Standards and Technology: NIST Special Publication 800-90.

Slumptall, skriver Schneier, er kritiske for alle anvendelser av kryptografi. De brukes innen kryptering, autentisering, digitale signaturer og så videre, og har følgelig avgjørende betydning for alle typer IT-sikkerhet.

En viktig feil ved slumptallsgeneratoren Dual_EC_DRBG er at den er langt tregere i sine beregninger i de tre alternativene i den nye NIST-standardene: Den bruker tre ganger så lang tid på å beregne sine slumptall. En annen ulempe er at testing avslører at tallene den genererer faktisk ikke er helt tilfeldig.

Under normale omstendigheter ville Dual_EC_DRBG blitt forkastet av NIST. Grunnen til at den likevel er med i standarden, er at den støttes av USAs nasjonale overvåkingsorgan National Security Agency (NSA). Ifølge Schneier, har NSA ivret for Dual_EC_DRBG i mange år.

Det hefter ikke noe ekstraordinært ved at NSA befatter seg med slumptallsgeneratorer: Kryptering er et fagfelt der deres ekspertise er anerkjent. Derfor er det desto merkeligere at generatoren som de anbefaler, har disse svakhetene.

Forklaringen, ifølge Schneier, Shumow og Ferguson, er en tredje svakhet ved Dual_EC_DRBG.

Den svakheten kan beskrives slik: Dual_EC_DRBG bygger sine beregninger på en elliptisk kurve. Definisjonen av denne kurven omfatter en mengde konstante tall. Disse tallene er listet i NIST-standarden, men hvilken rolle de spiller, eller hvor de kommer fra, er ikke forklart.

I sin presentasjon i august, beviste Shumow og Ferguson at det er en forbindelse mellom disse tallene og en annen mengde konstante tall som ikke oppgis i standarden og som ikke nevnes i spesifikasjonene for Dual_EC_DRBG. Hvilke tall det dreier seg om, har ingen av ekspertene greid å avdekke. Det som skal være på det rene, er at den som eventuelt kjenner til denne hemmelige tallmengden, vil være i stand til å forutse hele den kommende tallstrømmen fra Dual_EC_DRBG bare ved å observere de første 32 bytes som genereres.

Med andre ord: Kjenner du de hemmelige tallene bak Dual_EC_DRBG, vil du uten videre kunne knekke enhver kryptering, enhver digital signatur, enhver autentisering og så videre, som bygger på denne anbefalte slumptallsgeneratoren.

– Forskerne [Shumow og Ferguson] vet ikke hva de hemmelige tallene er. Men på grunn av måte algoritmen virker, er det mulig at vedkommende som laget de oppgitte konstante tallene ved: Han har hatt den matematiske anledningen til å lage både de oppgitt tallene og de hemmelige tallene, skriver Schneier.

Han legger til:

– Vi har ingen mulighet til å vite hvorvidt NSA kjenner til de hemmelige tallene som bryter Dual_EC_DRBG. Vi har ingen mulighet til å vite hvorvidt en NSA-ansatt kom på disse tallene på egen hånd, og sitter på den hemmelige mengde. Vi vet ikke om noen i NIST, eller i arbeidsgruppen i ANSI [et annet standardiseringsorgan], kjenner til tallene. Kanskje ingen kjenner til tallene. Vi aner ingenting om opphavet til tallene. Vi vet bare at den som fant på tallene som er oppgitt i standarden, kan ha dirken til denne bakdøren. Og vi vet at det er umulig for NIST, eller for hvem som helst, å motbevise dette.

Med andre ord: NSA kan ha en bakdør som kan knekke enhver bruk av Dual_EC_DRBG. Eller «noen» eller «ingen» kan ha den.

Schneier mener ingen bør implementere Dual_EC_DRBG under noen omstendighet.

Og han etterlyser en forklaring fra både NIST og NSA.

    Les også:

Til toppen