В последние дни много разговоров об уязвимости в ключах RSA, которую декларировали исследователи из Федеральной политехнической школы Лозанны. Напомним, что они собрали в открытой сети и составили базу около 6 млн RSA-ключей длиной 1024 бита и меньше. Эта база данных была подвергнута анализу на предмет общих множителей, и после длительных математических вычислений обнаружилось, что примерно для 0,2% модулей можно осуществить факторизацию. То есть такие RSA-ключи не обеспечивают защиты — они были сгенерированы с помощью предсказуемых «случайных» простых чисел, которые иногда повторялись между разными ключами. В связи с этим у многих пользователей возникли сомнения в надёжности алгоритмов для генерации этих ключей.

Однако, более тщательное изучение результатов данного исследования, проведённое криптографом Надей Хенингер (Nadia Heninger) показало, что причин для паники нет. Надя обнаружила, что на самом деле «уязвимые» RSA-ключи, в основном, принадлежат различным встроенным устройствам, таким как маршрутизаторы, файрволы, VoIP-телефоны и проч., а не полноценным веб-серверам. Таким образом, нет особых причин волноваться за безопасность веба, потому что найденные «слабые» сертификаты просто не откроются в браузере, они либо не подписаны вообще, либо сертификат давно истёк.

Плохая новость в том, что слабости в генерации ключей найдены в оборудовании практически всех производителей. Исследование Нади Хенингер показало, что уязвимыми являются около 4,1% всех ключей из выборки, причём особенно плохо себя показали некоторые конкретные модели и классы устройств от определённых производителей. Надя Хенингер не собирается оглашать данные о конкретных моделях до того, как свяжется с производителями. Но в любом случае, причин для паники нет: банковские веб-сайты и другие веб-приложения никак не входят в выборку 0,2% «слабых» ключей, обнаруженных в рамках исследования Федеральной политехнической школы Лозанны. Точнее, говорит Хенингер, среди всех этих слабых ключей только один был подписан доверенным центром сертификации, да и то его сертификат уже истёк.

У встроенных устройств давно известны проблемы с энтропией. Однако, до сих пор не было подтверждений, насколько широко распространены эти проблемы и как много слабых ключей такие устройства уже успели сгенерировать.

Надя Хенингер объясняет, как могли появиться ключи с общими множителями. Например, они могли генерироваться таким способом:

prng.seed(seed)
p = prng.generate_random_prime()
prng.add_randomness(bits)
q = prng.generate_random_prime()
N = p*q

В этом случае, если генератор псевдослучайных чисел работает с малой энтропией, то это может привести к появлению различных модулей, основанных на одном и том же числе p, но разных q. Такие ключи легко разлагаются на множители.

«На дворе 2012 год, а у человечества до сих пор проблемы с генератором случайных чисел, — так комментирует эту ситуацию Дэн Камински, известный специалист по компьютерной безопасности. — Данное исследование, хотя и сопровождается несколько некорректным анализом, всё-таки является по-настоящему важным». Исследование выявило серьёзные проблемы с ГСЧ во многих устройствах, и эти проблемы нужно решать.



Оставить мнение