Alvorlig sårbarhet i krypteringsbibliotek for RSA

Publisert: 18.10.2017

Et vellykket angrep mot den private RSA-nøkkelen kan blant annet føre til dekryptering av data, forfalskning av signaturer og feilet tilgangsstyring til systemer.

NSM NorCERT ønsker å informere om en alvorlig sårbarhet i et krypteringsbibliotek benyttet i mange smartcard, sikkerhetstokens og annen sikker maskinvare produsert av Infineon Technologies AG. Utnyttelse av sårbarheten kan gi angriper tilgang til den hemmelige delen av RSA-nøkler generert av dette biblioteket [1][2]. Som et midlertidig tiltak anbefales brukere å bytte til elliptisk kurve-kryptografi eller øke nøkkellengden benyttet i RSA.

En form for faktoriseringsangrep på RSA-modulusen

Angrepet er kalt "Return of Coppersmith's Attack" og retter seg mot måten RSA-nøkler genereres i biblioteket. Det er ikke måten nøkkelen blir brukt til å kryptere data på som er sårbar, men selve nøkkelgenereringen. Et skadereduserende tiltak er derfor å generere nøkler utenfor chipen og importere disse inn før bruk. Angrepet er en form for faktoriseringsangrep på RSA-modulusen og utnytter at to primtall ikke er helt tilfeldig generert. Faktoriseringsangrepet reduserer sikkerheten kritisk for nøkler av lengde 1024 bit (ca 97 vCPU-dager før nøkkelen er kompromittert), og alvorlig for 2048-bit nøkler (51400 vCPU-dager) [1].

Omfang

Implementasjonen som lager disse svake RSA-nøklene er i kryptobiblioteket brukt av Infineon i deres TPM-moduler (Trusted Platform Module) og andre sikkerhetschips. Svakheten skal ha vært i biblioteket siden 2012. Hardwaren er svært utbredt og brukes i mange produkter, fra laptoper til smartkort. Blant annet kan programvare som BitLocker ha fått sikkerheten sin redusert av svake RSA-nøkler generert av disse TPM-modulene. Implementasjoner som bruker denne hardwaren, men som likevel ikke er sårbare har enten generert RSA-nøklene utenfor modulen, eller erstattet Infineon sitt kodebibliotek med sitt eget.

Det er mulig å sjekke om en nøkkel er svak ved å benytte online- eller offlineverktøy som sikkerhetsforskerene har laget i forbindelse med publiseringen [1].

Konsekvens:

Et vellykket angrep mot den private RSA-nøkkelen kan blant annet føre til dekryptering av data, forfalskning av signaturer og feilet tilgangsstyring til systemer.

Anbefalinger:

  • Installere tilgengelige programvareoppdateringer
  • Generer sikre RSA-nøkler utenfor enheten og importer de til enheten.
  • Bruk en annen kryptografisk algoritme, som ECC, i stedet for RSA på sårbare enheter
  • Iverksett ekstra sikkerhetstiltak dersom RSA-nøkkelen i bruk blir funnet sårbar. Det kan for eksempel være nødvendig å revokere VPN-sertifikater som har benyttet dette biblioteket for nøkkelgenerering.
  • Øke nøkkellengden til f.eks. 3936 bits eller lengre for å redusere effekten av angrepet på nøkkelens kompleksitet.

Referanser:

  1. https://crocs.fi.muni.cz/public/papers/rsa_ccs17
  2. https://dan.enigmabridge.com/roca-critical-vulnerability-in-infineon-security-chips/