Формальным началом дискуссии стало подозрение, павшее на популярный сервис анонимизации TOR. А точнее, на используемые в нём криптографические схемы. Дело в том, что программное обеспечение TOR, по крайней мере до версии 2.4, защищает передаваемую информацию с помощью связки классических алгоритмов RSA + DH, причём длина ключей составляет 1024 бит. Так вот, хотя прямых доказательств нет, авторитетные эксперты считают разумным предполагать, что АНБ обладает достаточной вычислительной мощью для взлома такой защиты. Таким образом, незащищёнными оказываются (грубая оценка) три из четырёх пользователей TOR. Что делать? Обновиться до версии 2.4.x, где длина ключей увеличена, а кроме того, в дополнение к «классике», применена сравнительно новая так называемая эллиптическая криптография. Оно же, эллиптическое крипто (ЭК), используется, в частности, и в Bitcoin.
Упомянутые выше «классические» криптоалгоритмы были разработаны в 70-х годах и на сегодня остаются в числе самых популярных в компьютерном мире. Главная их проблема в том, что с ростом вычислительных мощностей, доступных атакующим, требуется и увеличение длины ключа, а процедура шифрования непростая, энергозатратная. Эллиптическое крипто — детище 80-х, основанное на математике эллиптических кривых, откуда и название, — в общем обладает более высокой стойкостью при той же длине ключа, но, что самое важное, в сравнении с «классикой» устойчивость к взлому с ростом длины ключа нарастает экспоненциально быстрее: так, 1024-битный ключ RSA/DH примерно соответствует 160-битному ЭК-ключу, но уже 3072 бит ключа RSA эквивалентны всего лишь 256 битам ЭК. Иначе говоря, если сегодня преимущества эллиптического крипто ещё неочевидны, то в ближайшем будущем они проявятся ярко: компьютерный мир, который подталкивается, с одной стороны, растущей вычислительной мощью, находящейся в распоряжении спецслужб и злоумышленников, а с другой — требованиями экономно, но быстро и прозрачно шифровать данные, будет вынужден перейти на ЭК.
То, что у компаний, к которым «пришли» спецслужбы, нет выбора — сотрудничать или нет, подозревалось ещё в самом начале поднятого Сноуденом скандала. Но теперь это прямо подтвердила Марисса Мейер: раскрытие секретной инфы (в том числе признание факта сотрудничества) считается преступлением, а отказ от сотрудничества квалифицируется как измена родине.
Правовые аспекты ЭК — тема отдельная и непростая: часть фундаментальных наработок здесь защищена действующими патентами (принадлежащими компаниям в Канаде и США), часть патентов приобретена или лицензируется АНБ и т. д. Формально авторы отдельно взятого программного продукта могут реализовать ЭК самостоятельно без нарушения чьи-либо авторских прав. Фактически, по крайней мере на Западе, принята следующая схема: частные компании реализуют в своих программах работу с кривыми, рекомендованными Национальным институтом стандартов и технологий США (NIST). Оглядка на рекомендации NIST даёт два преимущества. Во-первых, это открывает продукту дорогу в госучреждения. Во-вторых, не все эллиптические кривые одинаковы: некоторые, к примеру, легче обсчитывать, и NIST как раз отобрал полтора десятка наиболее выгодных.
Теоретически процесс стандартизации в NIST прозрачный, публичный. Однако законы США обязывают Институт пользоваться помощью АНБ — и временами, как выяснилось благодаря Эдварду Сноудену, эта «помощь» перерастает в диктат. Благодаря Эдварду мы знаем теперь, что именно так, под нажимом АНБ, NIST стандартизовал генератор псевдослучайных чисел Dual_EC_DRBG (тоже основанный на ЭК) — один из рекомендованных для использования в криптографических продуктах и реализованный в такой форме десятками вендоров. Документы Сноудена прямо указывают на то, что неслучайность, присущая Dual_EC_DRBG и давно уже подмеченная независимыми экспертами, была введена АНБ ради ослабления генератора и, соответственно, последующего более лёгкого взлома шифров. На днях, поупиравшись для виду («Мы не ослабляем стандарты намеренно!»), NIST официально посоветовал не использовать Dual_EC_DRBG и возобновил процедуру его публичного рассмотрения.
Что бизнес может противопоставить узаконенному шантажу со стороны спецслужб? Один из последних интересных вариантов — остроумный метод, известный под красивым англоязычным названием dead man’s switch, что примерно переводится на русский как «аварийная кнопка». Речь об устройстве, которое начинает работу, если его оператор вдруг выбывает из строя. Именно такое, кстати, построил якобы сам Эдвард на случай своего физического устранения: если с ним что-то произойдёт, построенная им система опубликует некие особо сенсационные данные. Но в нашем случае всё проще: на видном месте (скажем, лицевая страница официального сайта) размещается регулярно обновляемое предупреждение. Что-нибудь вроде «Мы не стучим на своих клиентов правительству. 16 сентября 2013 года». Фишка в том, что, как только вас принудят к сотрудничеству, вы перестанете его обновлять, потому что иначе это будет обманом. И даже если в целях нацбезопасности вас вынудят врать, в перспективе всё равно выигрываете: впоследствии будет легче смыть с себя позор, ведь вас заставили!
Dual_EC_DRBG используется сравнительно редко, однако скандал вокруг него дал повод усомниться вообще в стандартах эллиптического крипто, опубликованных NIST. Сыр-бор разгорелся вокруг уже упомянутых выше рекомендованных кривых: что если Институт, действуя по указке АНБ, выбрал особенные кривые — скажем, такие, основанные на которых шифры будут менее стойкими? Математического или документального доказательства этому нет. Но вот что настораживает: в ходе устроенного энтузиастами расследования выяснилось, что начальные параметры (константы) для рекомендованных кривых должны были быть сгенерированы случайным, но проверяемым образом — а вместо этого их словно бы взяли наугад, так что объяснить сейчас, как они были получены, никто не в состоянии. Логично предположить, что константы были подобраны, чтобы ослабить стойкость шифров. И каждый криптографический продукт, использующий ЭК-рекомендации NIST, оказывается беззащитным перед АНБ.
Дискуссия продолжается, и в следующие недели и месяцы мы наверняка услышим новые аргументы как за, так и против этого обвинения. Но в данный момент каждому пользователю и разработчику стоит задаться вопросом: используют ли важные лично для вас программы эллиптические кривые, рекомендованные NIST?
К счастью, для двух крупнейших свободных проектов Сети — Bitcoin и TOR — ответы на него будут отрицательными. Спасибо Сатоши Накамото: эллиптическое крипто, положенное в основу Bitcoin, опирается на кривую (sec256k1), отсутствующую в рекомендациях NIST. Равно и TOR основан на кривой, к которой NIST не имел отношения.
Но вы понимаете, что вопрос этот нужно задать для каждой программы, использующей эллиптическую криптографию. И ответ не всегда будет таким, на какой вы, возможно, надеетесь…
В статье использована иллюстрация Georgio Montersino.
К оглавлению
Стучит ли «Линукс» в АНБ? И куда дальше, Линус?
Евгений Золотов
Опубликовано 20 сентября 2013
Линус Торвальдс — «великодушный диктатор», по сей день возглавляющий крупнейший open source-проект на планете Земля, — редко попадает в заголовки новостей. Его работа для непосвящённых скучна, так что пресса если и вспоминает об отце Linux, то только к очередной годовщине (как раз на днях свободной ОС исполнилось 22 года), либо когда, выведенный из себя, он обрушивает на оппонентов всю свою холодную финскую мощь. (Помните его ссору с nVidia?) Нынче, впрочем, повод оказался ещё интересней. Прибыв на девелоперскую конференцию LinuxCon в Новый Орлеан, Торвальдс попал под перекрёстный допрос журналистов и публики, спросивших, помимо прочего, не поступало ли к нему от правительства США предложения имплантировать в линуксовое ядро шпионскую закладку. Линус ответил «нет», но — под нервный смех собравшихся в зале — в то же самое время утвердительно кивал головой: да…
Пошутил? Скорее всего. Потому что, приходили на самом деле к Линусу «люди в чёрном» или нет, грех не воспользоваться моментом. Ведь всплеск паранойи, спровоцированной Эдвардом Сноуденом, с одной стороны, несомненно добавил Linux очков (Брюс Шнайер, например, собственноручно копавшийся в сноуденовских «бумагах», теперь настоятельно рекомендует Linux и свободный софт), с другой — лично Линусу, кажется, доставляет больше пустых хлопот.
Теоретически разработчиков Linux, как и вообще любого свободного продукта, должно быть весьма сложно склонить к сотрудничеству со спецслужбами. Во-первых, исходные тексты открыты, так что закладка не продержится долго. Во-вторых, open source-коллективы, как правило, интернациональны, то есть составлены не только из американских или английских граждан. И подкатить к тому же Линусу, намекая, что отказ будет расцениваться как измена родине, не получится: коллеги, которым нет дела до желаний и методов АНБ, обязательно спросят, откуда взялся данный код и для чего нужен.