16.10.2017 | 21:20

Adam Haertle

Miliony kluczy RSA generowanych sprzętowo podatnych na złamanie

Dzień złych wiadomości w świecie bezpieczeństwa się jeszcze nie skończył – ujawniono dzisiaj, że na skutek błędu w popularnej bibliotece kryptograficznej można odzyskać niektóre klucze prywatne RSA tylko na podstawie kluczy publicznych.

Czescy i słowaccy naukowcy poddali analizie duże liczby kluczy RSA i odnaleźli w wynikach ciekawe nieprawidłowości. Okazało się, że procesory bardzo popularnego producenta, firmy Infineon, korzystały z niedoskonałego algorytmu generowania liczb pierwszych w trakcie tworzenia kluczy RSA. Procesory Infineona znajdują się w sprzęcie producentów takich jak Microsoft, Google, HP, Lenovo, Fujitsu czy Yubico a liczba podatnych kluczy używanych dzisiaj w internecie może iść w miliony. Wszyscy, którzy generowali klucze na dedykowanych urządzeniach (czyli teoretycznie w bezpiecznym środowisku, zamiast na komputerze, który mógł być zainfekowany), powinni sprawdzić, czy ich klucze są na atak podatne.

512, 1024 i 2048 bitów

Algorytm RSA opiera się na operacjach matematycznych wykonywanych na liczbach pierwszych. Kluczem do bezpieczeństwa jest pewność, że liczby pierwsze użyte w obliczeniach są naprawdę losowe. Analiza naukowców wykazała, że od roku 2012 procesory Infineona tworzyły liczby pierwsze o specyficznej, określonej strukturze, pozwalając na ich odtworzenie – co skutkuje możliwością obliczenia klucza prywatnego na podstawie znajomości klucza publicznego. Obliczenia są pracochłonne, lecz wykonalne. Czas i koszty dla procesora Intel E5-2650 v3@3GHz Q2/2014 wyglądają następująco:

  • klucz RSA 512 bitów – 2 godziny pracy CPU (koszt 21 groszy),
  • klucz RSA 1024 bitów – 97 dni pracy CPU (koszt 150 – 300 PLN),
  • klucz RSA 2048 bitów – 141 lat pracy CPU (koszt 70 000 – 140 000 PLN).

Dla lepszego zrozumienia skali problemu – bez odkrycia naukowców proces łamania klucza o długości 2048 bitów trwałby miliony razy dłużej niż dotychczasowe życie wszechświata. Możliwe jest także przeprowadzenie obliczeń dla kluczy o długości 4096 bitów, lecz czas trwania operacji powoduje jej nieopłacalność.

Co jest podatne

Sama podatność w kluczach RSA pewnie wielu osobom niezbyt dużo mówi. Autorzy badania wskazują, gdzie znaleźli klucze podatne na złamanie. Były to elektroniczne dokumenty (w tym estoński dowód osobisty), tokeny uwierzytelniające, urządzenia „trusted boot”, klucze podpisujące oprogramowanie, klucze TLS/HTTPS oraz klucze PGP. Potwierdzili do tej pory istnienie co najmniej 760 tysięcy podatnych kluczy, jednak szacują, że ich realna liczba może być od 100 do 1000 razy większa. Odtworzenie klucza prywatnego może pozwolić na wiele innych ataków – odszyfrowanie korespondencji lub ruchu internetowego, podszycie się pod użytkownika czy też sfałszowanie podpisów cyfrowych. Dodatkowo podatne na atak okazały się moduły TPM u 10 różnych producentów laptopów. Szczególnie poważnym problemem jest TPM w wersji 1.2 – jego klucze pozwalają na odszyfrowanie dysku zabezpieczonego BitLockerem. Odpowiednie zalecenia wydały Microsoft oraz Google.

Co robić, jak szyfrować

Badacze udostępnili narzędzia umożliwiające weryfikację używanych kluczy. Proponujemy – szczególnie firmom – weryfikację WSZYSTKICH kluczy RSA używanych w całej organizacji. Tak, to dużo roboty, ale analiza powłamaniowa jest bardziej pracochłonna. Dostępne narzędzia:

Badacze piszą, że testy są bardzo rzetelne i nie są obarczone błędami – test nie uzna za podatny dobrego klucza ani za niepodatny klucza złego. Złe klucze trzeba szybko odwołać i wymienić na lepsze – np. generowane przez OpenSSL (jest bezpieczny) lub inny algorytm (np. ECC zamiast RSA).

Chcielibyśmy, by to był koniec złych wiadomości na dzisiaj, a tu czeka kolejna kampania Thomasa do opisania…

Powrót

Komentarze

  • 2017.10.16 22:58 Ozjasz Goldberg

    Mam takie wrażenie, że ta podatność to nie przypadek…

    Odpowiedz
  • 2017.10.16 23:33 Nitruś

    Tomek chyba uwielbia was rozpieszczać ;)

    Odpowiedz
  • 2017.10.17 01:12 Adam [ale nie autor Z3S]

    Ciekawe kiedy wystartuje kampania pt. „Sprawdź swój klucz u nas on-line! Wystarczy wkleić oba i masz szybki wynik w 0,1 sekundy!” :)

    Odpowiedz
  • 2017.10.17 09:24 Tomek

    Tuż po publikacji akt Snowdena Bruce Schneier zmienił swój PGP klucz do 4096 bits.
    Wtedy się dziwiłem o co chodzi, skąd taki pośpiech. Klucz miał chyba 16 lat i nagle jego zmiana.
    Teraz już się nie dziwię.

    Odpowiedz
  • 2017.10.17 10:04 Pawel

    Uf, klucze generowane przez moj program do PGP dla BlackBerry sa bezpieczne ;) https://pawelgorny.com/PGpgp/

    Odpowiedz
  • 2017.10.17 10:22 Janusz

    Ruskie juz się legalizują w Estonii :D

    Odpowiedz
  • 2017.10.17 12:05 #

    W przypadku Yubikeyów problem dotyczy nie tylko komponentu OpenPGP, ale także PIV.

    Odpowiedz
  • 2017.10.19 02:38 gosc

    Ciekawe czy to dzieki temu tak latwo i szybko jest lamane zabezpieczenie gier Denuvo ktore wykorzystuje do szyfrowania wlasnie klucz RSA i czy teraz Denuvo znowu bedzie trudniejsze do zlamania. Ostatnio gry byly lamane w tym samym dniu premiery. Czas pokaze.

    Odpowiedz
  • 2017.10.20 13:26 Kuba

    Dla zainteresowanych mogę dodać że yubico rozdaje kupony na wymianę podatnych kluczy. Ja już zamówiłem nowy za 0$.

    Aby sprawdzić czy kupon się należy trzeba odwiedzić stronkę https://www.yubico.com/keycheck/verify_otp

    Odpowiedz
  • 2017.10.22 15:23 Darek

    To tylko kwestia czasu , producenici chipów bez normy iso 9001,
    zaraz się znajdzie nowa podatność
    #TWITTER HACKED allow to bypass autentication 2ndFactor

    Odpowiedz
  • 2018.04.09 11:44 tb

    I znowu matematyka dała radę a zawiodła implementacja.

    Odpowiedz
  • 2023.03.19 23:19 Kuba

    artykuł o tym jak stworzyć bazę danych z faktoryzacją n. i wszystko w jednej bazie. https://marsik.work/liczby_przypierwsze_RSA.html

    Odpowiedz

Zostaw odpowiedź do Darek

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Miliony kluczy RSA generowanych sprzętowo podatnych na złamanie

Komentarze