Новая тэхніка нападу па іншых каналах, якая дазваляе аднавіць ключы ECDSA

Даследчыкі з універсітэта ім. Масарыка раскрылі звесткі аб уразлівасцях у розных рэалізацыях алгарытму стварэння лічбавага подпісу ECDSA/EdDSA, якія дазваляюць аднавіць значэнне прыватнага ключа на аснове аналізу ўцечак звестак пра асобныя біты, якія ўсплываюць пры ўжыванні метадаў аналізу па іншых каналах. Уразлівасці атрымалі кодавае імя Minerva.

Найбольш вядомымі праектамі, якія закранае прапанаваны метад нападу, з'яўляюцца OpenJDK/OracleJDK (CVE-2019-2894) і бібліятэка. libgcrypt (CVE-2019-13627), якая прымяняецца ў GnuPG. Праблеме таксама схільныя MatrixSSL, Крыпта++, wolfCrypt, elliptic, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, лёгка-і інш і смарт-карты Athena IDProtect. Не пратэставаны, але як патэнцыйна ўразлівыя таксама заяўлены карты Valid S/A IDflex V, SafeNet eToken 4300 і TecSec Armored Card, якія выкарыстоўваюць тыпавы модуль ECDSA.

Праблема ўжо ўхіленая ў выпусках libgcrypt 1.8.5 і wolfCrypt 4.1.0, астатнія праекты пакуль не сфармавалі абнаўленні. Прасачыць за выпраўленнем уразлівасці ў пакеце libgcrypt у дыстрыбутывах можна на дадзеных старонках: Debian, Ubuntu, RHEL, Мяккая фетравы капялюш, openSUSE / SUSE, FreeBSD, арка.

ўразлівасці не схільныя OpenSSL, Botan, mbedTLS і BoringSSL. Яшчэ не пратэставаны Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL у рэжыме FIPS, Microsoft. NET crypto,
libkcapi з ядра Linux, Sodium і GnuTLS.

Праблема выклікана магчымасцю вызначэння значэнняў асобных бітаў падчас выканання множання на скаляр пры аперацыях з эліптычнай крывой. Для вылучэння інфармацыі аб бітах выкарыстоўваюцца ўскосныя метады, такія як ацэнка затрымкі пры выкананні вылічэнняў. Для нападу неабходна наяўнасць непрывілеяванага доступу да хаста, на якім выконваецца генерацыя лічбавага подпісу (не выключаецца і выдаленая атака, але яна моцна ўскладнена і патрабуе вялікага аб'ёму дадзеных для аналізу, таму можа разглядацца як малаверагодная). Для загрузкі даступны які выкарыстоўваецца для нападу інструментар.

Нягледзячы на ​​малаважны памер уцечкі, для ECDSA вызначэння нават некалькіх бітаў з інфармацыяй аб вектары ініцыялізацыі (nonce) досыць для здзяйснення нападу па паслядоўным узнаўленні ўсяго зачыненага ключа. Па заяве аўтараў метаду, для паспяховага аднаўлення ключа дастаткова аналізу ад некалькіх сотняў да некалькіх тысяч лічбавых подпісаў, згенераваных для вядомых атакаваламу паведамленняў. Напрыклад, для вызначэння закрытага ключа, які выкарыстоўваецца на смарт-карце Athena IDProtect на базе чыпа Inside Secure AT90SC, пры выкарыстанні эліптычнай крывой secp256r1 было прааналізавана 11 тысяч лічбавых подпісаў. Агульны час нападу склаў 30 хвілін.

Крыніца: opennet.ru

Дадаць каментар