Podatność ROCA - ROCA vulnerability

Luka ROCA
Identyfikator(y) CVE CVE - 2017-15361
Data odkrycia luty 2017 ; 4 lata temu ( luty 2017 )
Odkrywca Matúš Nemec, Marek Sýs, et. al ( Uniwersytet Masaryka )
Sprzęt, którego dotyczy problem Karty inteligentne TPM , Yubikey , Gemalto IDPrime .NET
Oprogramowanie, którego dotyczy problem Dowolne szyfrowanie kluczem publicznym i prywatnym, które używało RSALib, w tym BitLocker i PGP

Luka ROCA jest kryptograficzny słabość, która pozwala na klucz prywatny z pary kluczy do odzyskania z kluczem publicznym w kluczy generowanych przez urządzenia z luką. „ROCA” to akronim od „Return of Coppersmith's attack ”. Luka otrzymała identyfikator CVE - 2017-15361 .

Luka powstaje problem z podejściem do RSA generowania klucza stosowanego w biblioteki oprogramowania , RSALib , dostarczonych przez Infineon Technologies i włączone do wielu kart inteligentnych , Trusted Platform Module (TPM), i sprzęt bezpieczeństwa Moduły (HSM) implementacje, w tym Tokeny YubiKey 4, często używane do generowania kluczy PGP . Klucze o długości 512, 1024 i 2048 bitów wygenerowane przy użyciu biblioteki Infineon są podatne na praktyczny atak ROCA. Zespół badawczy, który odkrył atak (wszyscy z Uniwersytetem Masaryka i kierowany przez Matúša Nemeca i Marka Sýsa) szacuje, że dotknął on około jednej czwartej wszystkich obecnych urządzeń TPM na całym świecie. Uważa się, że dotyczy to milionów kart inteligentnych .

Zespół poinformował Infineon o problemie RSALib w lutym 2017 r., ale wstrzymał publiczne powiadomienie do połowy października, powołując się na odpowiedzialne ujawnienie . W tym czasie ogłosili atak i udostępnili narzędzie do testowania kluczy publicznych pod kątem podatności. Opublikowali szczegóły ataku w listopadzie.

Szczegóły techniczne

Generowanie klucza RSA polega na wybraniu dwóch dużych, losowo generowanych liczb pierwszych , co może być czasochłonne, szczególnie na małych urządzeniach, takich jak karty inteligentne. Oprócz tego, że są liczbami pierwszymi, liczby powinny mieć pewne inne właściwości dla najlepszego bezpieczeństwa. Podatny na ataki proces selekcji RSALib szybko tworzy liczby pierwsze żądanego typu, testując tylko liczby pierwszorzędowe postaci:

gdzie jest iloczynem pierwszych n kolejnych liczb pierwszych (2, 3, 5, 7, 11, 13,...), a n jest stałą, która zależy tylko od żądanego rozmiaru klucza. Bezpieczeństwo opiera się na tajnych stałych i . Atak ROCA wykorzystuje ten konkretny format liczb pierwszych przy użyciu odmiany metody Coppersmitha . Ponadto, klucze publiczne wygenerowane w ten sposób mają charakterystyczny odcisk palca, który można szybko rozpoznać, próbując obliczyć dyskretny logarytm modyfikacji klucza publicznego do podstawy 65537 . Obliczanie logarytmów dyskretnych w dużej grupie jest zwykle niezwykle trudne, ale w tym przypadku można to zrobić wydajnie za pomocą algorytmu Pohliga-Hellmana, ponieważ jest to liczba gładka . W Internecie dostępna jest strona testowa. Krótko mówiąc, klucze, które pasują do tego formatu, mają znacznie niską entropię i mogą być atakowane stosunkowo skutecznie (od tygodni do miesięcy), a format może zostać potwierdzony ("odcisk palca") przez atakującego bardzo szybko (mikrosekundy). Wielokrotne implementacje ataku są publicznie dostępne.

Łagodzenie

Autorzy ROCA uważają klucze publiczne o długości 512, 1024 i 2048 bitów generowane przez RSALib za podatne na ataki. Ponieważ szczegóły generowania kluczy różnią się dla różnych długości kluczy, krótsze klucze niekoniecznie są bardziej podatne na ataki niż dłuższe klucze. Na przykład klucz RSAlib 1952-bitowy jest silniejszy niż klucz 2048-bitowy, a klucz 4096-bitowy jest słabszy niż klucz 3072-bitowy.

Według autorów najlepszym środkiem zaradczym jest generowanie kluczy RSA przy użyciu silniejszej metody, takiej jak OpenSSL . Jeśli nie jest to możliwe, autorzy ROCA sugerują używanie kluczy o długości mniej podatnej na ROCA, takich jak 3936-bitowy, 3072-bitowy lub, jeśli istnieje maksymalny rozmiar klucza 2048-bitowy, 1952-bitowy.

Firma Infineon udostępniła aktualizacje oprogramowania układowego dla modułów Trusted Platform Module producentom, którzy korzystali z jej modułów TPM.

Implikacje

Luka ta uwypukliła kilka niedociągnięć schematu certyfikacji Common Criteria, ponieważ luka była obecna na liście certyfikowanych przez Common Criteria produktów kart inteligentnych. Mianowicie zatwierdzenie rodzimych algorytmów kryptograficznych; brak przejrzystości raportów certyfikacyjnych, niemożność cofnięcia certyfikatów Common Criteria dla znanych produktów podatnych na zagrożenia i rozpowszechniania tych informacji wśród użytkowników certyfikowanych produktów.

W Estonii odkrycie luki w zabezpieczeniach spowodowało kryzys cybernetyczny na poziomie stanowym, ponieważ wrażliwy chip karty inteligentnej został zainstalowany na ponad 750 000 estońskich dowodów osobistych, które są codziennie używane przez mieszkańców Estonii i e-rezydentów do bezpiecznego uwierzytelniania online i tworzenia podpisów cyfrowych .

Zobacz też

Bibliografia

Zewnętrzne linki