Nova tehnika napada stranskega kanala za obnovitev ključev ECDSA

Raziskovalci z univerze. Masaryk odkrito informacije o ranljivosti v različnih izvedbah algoritma za ustvarjanje digitalnega podpisa ECDSA/EdDSA, ki omogoča obnovitev vrednosti zasebnega ključa na podlagi analize uhajanja informacij o posameznih bitih, ki se pojavijo pri uporabi analiznih metod tretjih oseb. Ranljivosti so dobile kodno ime Minerva.

Najbolj znani projekti, na katere vpliva predlagana metoda napada, so OpenJDK/OracleJDK (CVE-2019-2894) in knjižnica libgcrypt (CVE-2019-13627), ki se uporablja v GnuPG. Tudi dovzetni za težavo MatrixSSL, Crypto++, wolfCrypt, eliptična, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, easy-ecc in pametne kartice Athena IDProtect. Ni testirano, vendar so veljavne kartice S/A IDflex V, SafeNet eToken 4300 in TecSec Armored Card, ki uporabljajo standardni modul ECDSA, prav tako označene kot potencialno ranljive.

Težava je bila že odpravljena v izdajah libgcrypt 1.8.5 in wolfCrypt 4.1.0, preostali projekti še niso ustvarili posodobitev. Popravek za ranljivost v paketu libgcrypt v distribucijah lahko spremljate na teh straneh: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arch.

Ranljivosti ni dovzeten OpenSSL, Botan, mbedTLS in BoringSSL. Še ni testirano Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL v načinu FIPS, Microsoft .NET crypto,
libkcapi iz jedra Linuxa, Sodium in GnuTLS.

Težavo povzroča zmožnost določanja vrednosti posameznih bitov med skalarnim množenjem v operacijah eliptične krivulje. Za pridobivanje bitnih informacij se uporabljajo posredne metode, kot je ocenjevanje računske zakasnitve. Napad zahteva neprivilegiran dostop do gostitelja, na katerem je ustvarjen digitalni podpis (ne izključena in napad na daljavo, vendar je zelo zapleten in zahteva veliko količino podatkov za analizo, zato ga lahko štejemo za malo verjetnega). Za nalaganje na voljo orodja, ki se uporabljajo za napad.

Kljub nepomembni velikosti uhajanja je za ECDSA zaznavanje celo nekaj bitov z informacijami o inicializacijskem vektorju (nonce) dovolj za izvedbo napada za zaporedno obnovitev celotnega zasebnega ključa. Po mnenju avtorjev metode za uspešno obnovitev ključa zadostuje analiza več sto do več tisoč digitalnih podpisov, generiranih za sporočila, ki jih pozna napadalec. Na primer, 90 tisoč digitalnih podpisov je bilo analiziranih z uporabo eliptične krivulje secp256r1 za določitev zasebnega ključa, uporabljenega na pametni kartici Athena IDProtect, ki temelji na čipu Inside Secure AT11SC. Skupni čas napada je bil 30 minut.

Vir: opennet.ru

Dodaj komentar