Личный ответ Филипа Циммерманна на ошибку ADK, обновленный 20 октября 2000

В четверг 24 августа мы выяснили, что допустили ошибку, связанную с защитой в PGP, при реализации возможности Дополнительного Ключа Расшифровки (Additional Decryption Key - ADK) . Немецкий исследователь Ралф Сендерек уже опубликовал на веб-сайте новость относительно этой ошибки. Мы быстро мобилизовались и выпустили исправленную версию PGP в течение приблизительно 18 часов после того, как услышали эту новость. Исправление для коммерческой версии PGP доступно на http://www.pgp.com, исправление для бесплатной PGP (версия 6.5.8) доступно на сайте MIT http://web.mit.edu/network/pgp.html или на http://www.pgpi.org. Конечно, наши последующие версии PGP (например, 7.0) также исправлены.

Некоторые из статей в Internet относительно этой ситуации представили эту ошибку как «лазейку» в PGP. Позвольте мне заверить вас, что это совсем не так. Это ошибка (и мы теперь исправили ее). Особенно досадная ошибка, потому что она произошла в возможности, против которой некоторые люди возражали даже тогда, когда, все думали, что все работает правильно. ADK был разработан в 1997 году, чтобы стать более гибкой, более мягкой альтернативой блокировки ключа для компаний, использующих ключи служащих. Я чувствовал, что блокировка ключа была особенно плохой идеей, и придумал эту альтернативу: представьте, что вы опубликовали ваш общественный ключ с небольшим желтым Post-it примечанием (подписанным вами цифровым способом), прикрепленным к нему, прося пользователей, желающих шифровать вашим общественной ключом, зашифровать сообщение также и другим ключом . Это означает, что примечание просит, чтобы пользователи шифровали сообщение двумя ключами вместо одного – ключа получателя и дополнительного ключа, выбранного получателем, оформленного в виде небольшого Post-it примечания. Это запрос от получателя, который отправитель сообщения может по желанию или выполнить, или проигнорировать. Отправитель волен зашифровать сообщение одним ключом или обеими ключами сразу. Если он согласен выполнить пожелание получателя и использовать ADK, то тогда или получатель, или же ADK будет способен расшифровать сообщение. Это удовлетворяло главному требованию наших корпоративных клиентов: к механизму обработки, в случае, когда служащий не имеет возможности расшифровать файл, возможно, потому, что он находится в отпуске, или погиб в авиационной катастрофе, или просто забыл свой пароль. Это намного лучше, чем блокировка ключа , потому что это требует согласия и отправителя и получателя для использования этой возможности. Это очевидно отправителю, и спрашивается его согласие перед продолжением шифрования.

Мы не могли продавать PGP без этой возможности. Большинство пользователей бесплатной версии программы не нуждалось в ней, так что мы не делали бесплатную версию PGP способной к генерации ADK ключей. Следовало купить коммерческую версию, чтобы генерировать ключи с соответствующими пакетами ADK, прикрепленными к ним. Так как пользователи бесплатной версии не оплачивают жалованье наших инженеров, в отличие от коммерческих пользователей, мы должны были добавить эту возможность к PGP, чтобы выполнить требование абсолютного большинства наших платящих клиентов. Похоже, что наиболее воинственные критики возможности ADK – из тех, кто не хочет платить за PGP. И все же некоторые заплатили нашим инженерам, так что мы можем продолжать разрабатывать PGP и свободно отдавать ее этим самым критикам.

Получатель должен сделать цифровую подпись на небольшом желтм Post-it примечании, давая согласие на привязку ADK к его ключу. И вот там содержится ошибка. Ошибка в PGP версий от 5.5 до 6.5.3 состоит в том, что PGP не всегда правильно выясняет, подписан ли ADK перед его использованием , что небольшое Post-it примечание, ссылающееся на ADK отформатировано надлежащим образом. Это означает, что кто-то мог прикрепить неправомочный ADK к вашему ключу и, возможно, одурачить невнимательного отправителя сообщения заставляя его воспользоваться им. Это не такое уж простое жульничество, потому что есть шанс, что отправитель не имеет поддельного ADK в его связке ключей, и даже если он преодолеет дополнительные трудности, чтобы получить его с сервера, поддельный ADK не обязательно будет подписан сертификационным агентством, которому доверяет отправитель. В этом случае PGP укажет на неверный ADK прежде, чем отправитель сможет использовать этот ADK, чтобы зашифровать сообщение. Это рискованная атака, атака, которая имеет очень большие шансы быть раскрытой. Затем, даже если все препятствия так или иначе преодолены, нападающий к тому же должен перехватить зашифрованную электронную почту на пути к получателю. Конечно разведывательные службы поднаторели в перехвате трафика электронной почты, но они никогда не будут настолько глупы, чтобы предпринять такую рискованную атаку. Это могло послужить причиной тому, что мы не нашли абсолютно никаких поддельных пакетов ADK, когда мы просканировали все общественные ключи на серверах ключей после того, как ошибка была обнаружена, даже после почти трех лет с момента появления этой ошибки. Если бы это была «лазейка», это была бы особенно глупая «лазейка».

Так или иначе, я упомянул, что мы исправили ошибку? Мы также исправили ее на серверах ключей так, чтобы серверы ключей отвергали (и удаляли) поддельные ADK прежде, чем кто-либо смог получить шанс, использовать их, даже если они еще не имеют новую исправленную версию PGP. Исправленная версия PGP удаляет поддельные ADK везде, где находит их. Она не просто отвергает использование поддельных ADK, она действительно удаляет их из ключа. Нет их больше. Как ни странно, наши наиболее циничные критики возразили против такого способа исправления ошибки, обвинив нас в «укрывательстве» поддельных ADK, потому что они не могли больше найти их (возможно, они не поняли, что поддельные ADK действительно уничтожены). Вздох. Некоторым людям невозможно угодить.

Мы также внесли изменение в бесплатную версию PGP 7.0, чтобы сделать невозможным для пользователя выключение предупреждения относительно присутствия ADK в ключе перед его использованием. Если Вы намереваетесь часто использовать ADK и хотите иметь возможность выключить эти предупреждения в панели настроек, вам следует купить коммерческую версию PGP. И в рекламе, и в бесплатной PGP 7.0 мы также сделали предупреждения пользователю гораздо более явными при шифровке ключа с возможностью ADK. В статье Сендерека высказывалось предположение, что та же ошибка воздействует на другие виды атрибутов, которые вы прикрепляете к вашему ключу, включая особенность уполномоченных отзывающих лиц PGP. Мы исправили эти проблемы в то же время, тем же образом. Хотя эти разновидности ошибки были менее серьезны, чем ошибка с ADK (и не касались столь обсуждаемой возможности), они позволяли неправомочному уполномоченному отзывающему лицу быть добавленным к вашему ключу, что потенциально могло открыть дверь к атаке на отказ в обслуживании, позволяя кому -то отозвать ваш ключ. Фактически, в то время, как мы исследовали исходный текст, чтобы исправить возможность уполномоченного отзыва, мы обнаружили другую ошибку, касающуюся уполномоченного отзыва, и также исправили ее. Та ошибка позволяла неверно составленным подписям уполномоченных отзвающих лиц быть принятыми при некоторых обстоятельствах. Это никоим образом не могло навредить защищенности сообщений PGP, но могло привести к тому, что действующие ключи казались бы отозванными. Мы также настроили серверы ключей для отфильтровывания всех этих проблем с общественными ключами.

Когда мы добавляли возможность ADK в 1997, множество критиков обвиняло нас, в том, что это откроет путь правительственному законному принуждению или разведывательным службам эксплуатировать возможность ADK, чтобы шпионить за рядовыми гражданами. Фактически этого не произошло. После многих лет борьбы мы выиграли дебаты по криптографии в США (и Франции, и список пополняется другими странами Европы), и экспортные ограничения США были ослаблены полностью в январе 2000. После почти трех лет использования, возможность ADK возымела абсолютно нулевое воздействие на состояние правительственной слежки в США и во всем мире. Предсказания оказались неверны. В то же самое время, коммерческое принятие PGP (отчасти из-за добавления особенности ADK) распространило PGP более широко в поликоустойчивой компьютерной промышленности, которая, я полагаю, некоторым образом, внесла вклад в давление на правительство, чтобы ослабить экспортные ограничения в этом избирательном году.

Одна назойливая вещь, которую я видел в некоторых статьях сетевой печати – что добавление этой возможности ADK имело некоторое отношение к Союзу Восстановления Ключа (Key Recovery Alliance – KRA), промышленной группе, сформированной в 1990-ых, чтобы внедрить возможность восстановления ключа в криптографические продукты, чтобы, главным образом, позволить тем продуктам получить экспортные лицензии от правительства США. Позвольте мне заверить вас, что KRA не имеет никакого отношения к добавлению этой возможности к PGP. Я добавил эту возможность ADK к PGP в конце 1997, прежде, чем Network Associates приобрела PGP Inc. Мы добавили ее потому, что это была хорошая возможность, решающая определенные проблемы восстановления данных, с которыми столкнулись корпорации; проблемы, которые я упомянул выше. Это не имело никакого отношения к экспортным лицензиям. Мы избежали экспортного ограничения, опубликовав исходный код PGP в печатных изданиях и легально экспортировав книги (которые не были подчинены экспортному ограничению) в Европу, где они были отсканированы с помощью OCR и вновь откомпилированы в рабочую программу и проданы на CD-ROM'ах во всем мире. Грамотная уловка, вы не находите? Это эффектно сработало , и не было никакой нужды, компрометировать криптографическую целостность PGP, чтобы позволить ей быть экспортированной. Так или иначе, позднее Network Associates приобрела PGP Inc, и я заставил их выйти из KRA, что они и сделали. Несколькими месяцами позже NAI приобрела другую компанию (TIS), которая была членом KRA, и таким образом стала членом снова по умолчанию. Их членство подлежало обновлению, и я попросил, чтобы они не возобновляли членство, и они выполнили мою просьбу. Сегодня кажется, что KRA больше нет, теперь, когда экспортного ограничения не существует.

Никто не имел дел с правительством. Здесь нет никакого заговора . Все еще не имеется никаких «лазеек» в PGP. Мы все еще публикуем исходный код PGP для ознакомления, потому что мы хотим, чтобы люди помогли нам найти ошибки. Большинство других программных компаний не делает этого. Их программное обеспечение столь же велико и сложно, как наше, так что они, вероятно, имеют также много (если не больше) ошибок, но Вы не слышите так много относительно них , потому что исходный текст не опубликован для просмотра. PGP начиналась как проект прав человека, и сегодня используется каждой организацией прав человека в мире. Наши инженеры остаются с командой PGP, потому что они чувствуют, что они работают над чем-то важным для мира. Это неблагодарное занятие для большинства из них, особенно со всей этой критикой теоретиков заговора, которые воображают, что мы продались правительству. Почему люди ищут самые дурные мотивы? Если бы NAI пробовал вставить «лазейку» в PGP, все инженеры команды PGP выступили бы с громким протестом, и я бы рассказал прессе об этом. Не имеется никакого способа, которым я позволил бы этому случиться, и NAI не высказала никакого интереса в размещении «лазейки» в PGP.

Филип Циммерманн
29 августа 2000 (обновлено 20 октября 2000)
prz@pgp.com
http://www.pgp.com/phil

Это обращение может быть распространено свободно.

Перевод Entropy Witchhunter

 

Email the Admin Email the Webmaster
Copyright © Double Star, 2000-2001