Gutmann — значит «хороший человек»

(Декабрь 2000)

«Главный новозеландский криптограф» Питер Гутман дописал, наконец, свою докторскую диссертацию. О работах этого достойного человека имеет смысл рассказать.

peter_gutmann

Нынешняя потребность в продуктах безопасности значительно превосходит количество личностей, способных разрабатывать безопасные системы. Как следствие, индустрия прибегает к найму таких людей и к приобретению «решений» у таких поставщиков, которых и близко нельзя подпускать к проектам, связанным с защитой систем. (Лаки Грин )

Речь пойдет об одном из тех людей, кто действительно способен разрабатывать безопасные компьютерные системы. Питер Гутман уже много лет работает в качестве «вечного аспиранта» на кафедре компьютерной науки университета города Окленд (в котором проживает половина населения Новой Зеландии :).

Однако в Интернете этот человек известен прежде всего как хакер, вскрывший множество широко распространенных криптосистем: от программы шифрования жесткого диска Norton’s Diskreet и формата криптозащиты файла паролей (.PWL) в ОС Windows до систем шифрования ключей в веб-сервере Netscape и в браузере Microsoft Internet Explorer.

Область интересов Гутмана простирается весьма широко и накрывает практически все, что так или иначе связано с защитой информации. Насколько в действительности широки эти интересы, можно судить хотя бы по одной из известных работ Гутмана, посвященной восстановлению уничтоженных данных на магнитных носителях: как свидетельствуют специалисты, это статья, по глубине и охвату данной темы не имеющая аналогов во всем Интернете (www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html).

На одну из веб-страниц, ведущихся Гутманом, почти наверняка хоть раз попадал всякий пользователь Сети, интересующийся защитой информации. Речь идет о «ферме ссылок» или «security resource link farm», гигантской, сейчас уже почти в пол-мегабайта размером странице с коллекцией ссылок «обо всем», что связано с криптопродуктами и выпускающими их компаниями, статьями и конференциями, электронной коммерцией и цифровыми наличными, с делами спецслужб и их проколами, смарткартами и алгоритмами.

Короче говоря, сюда складывается все, что так или иначе касается компьютерной безопасности и криптографии. А поскольку складывается человеком, знающим в этом толк, «ферма» стоит того, чтобы ее посетить всякому, испытывающему затруднения с поиском информации в данной области (www.cs.auckland.ac.nz/~pgut001/links.html).

Своеобразным дополнением и некоей систематизацией данных, прячущихся за океаном накопленных ссылок, служит еще один фундаментальный труд Гутмана — учебное пособие под скромным названием «Мой крипто-годзилла» или «Godzilla crypto tutorial «, на основе которого читается спецкурс в Оклендском университете.

Пособие представляет собой упорядоченный набор из 583 слайдов, сгруппированных в виде 8 частей. Одно лишь поверхностное перечисление рассмотренных здесь тем займет не менее страницы, поэтому проще дать веб-ссылку: http://www.cs.auckland.ac.nz/~pgut001/tutorial/index.html .

Но основной сферой занятий Гутмана, безусловно, является создание систем защиты информации и компьютерной безопасности. Началось же все с небезызвестной программы PGP Фила Зиммермана, в создании версии 2.0 которой довелось принимать участие и молодому программисту Питеру Гутману.

Еще через несколько лет, в 1994 году он создает собственный криптопродукт — программу «прозрачного» шифрования диска SFS (Secure FileSystem) для DOS/Windows. Как и все прочие работы Гутмана, эта программа свободно распространяется в Интернете и приобрела весьма широкую популярность благодаря стабильной работе и качественной криптографии.

Вторая половина 90-х годов была посвящена созданию более капитального продукта под названием «Инструментарий безопасности cryptlib» (www.cs.auckland.ac.nz/~pgut001/cryptlib/index.html), представляющего собой независимый от операционной системы программный криптоинструментарий, способный решать самый широкий спектр задач: высокоскоростное шифрование, обмен ключами, цифровые подписи, управление ключами и сертификатами, поддержка смарт-карт, масса прочих функций безопасности.

В настоящее время (2000 г.) инструментарий полностью доведен до товарного вида и помимо бесплатного личного использования допускает и коммерческое приобретение на лицензионной основе.

При создании программного инструментария Гутмана крайне волновал вопрос удобного и грамотного с точки зрения безопасности использования криптофункций.

Не секрет, что хотя в обиходе ныне имеется несколько интерфейсов программирования криптоприложений (крипто-API), большинство из них представляют из себя просто некую коллекцию так или иначе относящихся к криптографии функций без какой-либо продуманной внутренней архитектуры. Причем зачастую эти функции весьма критично увязаны с конкретным языком программирования или не поддаются переносу из одной ОС в другую.

Вдобавок к этому ни один из распространенных крипто-API не предоставляет сколь-нибудь связной модели безопасности, и как следствие многие из применяемых «систем безопасности» демонстрируют осутствие элементарной защиты (на примере той же Windows Гутман показывал, как приложение может считывать ключи шифрования, которые должны быть надежно защищены внутри архитектуры).

На конференции Usenix Security Symposium, где Питер Гутман выступает с докладами практически ежегодно, в 1999 году им была представлена статья «Проектирование архитектуры криптографической безопасности», в которой описана конструкция криптоархитектуры общего назначения с надежно защищенным ядром, управляющим реализацией принятых в системе директив безопасности. Разработанная Гутманом архитектура уже реализована в ряде разнообразных систем на основе (как несложно догадаться) криптоинструментария cryptlib.

Теперь же выяснилось, что эта статья по сути дела была кратким изложением основ докторской диссертации Гутмана, которую он сдал на комиссию в августе этого года, подойдя наконец к реальному завершению своей затянувшейся «аспирантской карьеры».

Диссертация называется «Проектирование и верификация архитектуры криптографической безопасности», защита ее пока еще не проходила, однако интерес к работе весьма велик, поэтому недавно Гутман выложил несколько ключевых глав труда в онлайновый доступ, сопроводив уведомлением, что это не окончательная, а предварительная версия текстов (www.cs.auckland.ac.nz/~pgut001/pubs/thesis.html).

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

Традиционно принятые архитектуры безопасности сосредоточены главным образом на описании интерфейса программирования приложений (API), оставляя внутреннее устройство на откуп самим разработчикам, реализующим систему. В диссертации Гутмана представлен значительно более продвинутый подход, построенный на основе переносимой и гибкой архитектуры безопасности.

Здесь основная роль отводится защищенному ядру, реализующему монитор обращений, который управляет всеми операциями доступа к критичным с точки зрения безопасности объектам и атрибутам системы. Поверх ядра уровнями строятся разнообразные объекты, выполняющие конкретные фунции безопасности, такие как шифрование, цифровая подпись, управление сертификатами, защищенные соединения и тому подобные вещи.

Взаимодействие уровней с ядром организовано так, что все перечисленные объекты легко переносятся в специальные криптографические устройства типа смарт-карт или крипто-акселераторов, добавляемых в систему для повышения производительности или безопасности.

Помимо подробного описания архитектуры и ее ядра, в диссертации содержится несколько разделов, посвященных смежным вопросам, таким как генерация ключей и прочих криптопеременных, а также приложения разработанной архитектуры к различным типам криптографического аппаратного обеспечения.

Эффективность и гибкость предложенной архитектуры проверена на практических реализациях в условиях самых разных вычислительных платформ: от 16-битных микроконтроллеров до суперкомпьютеров, а также в таких устройствах, как модули безопасности банкоматов и криптографические сопроцессоры для компьютеров общего назначения.

В онлайн выложены пять первых глав, где изложена основная часть диссертационной работы: «Архитектура программного обеспечения», где представлена архитектура программ cryptlib; «Архитектура безопасности», где представлена архитектура безопасности cryptlib; «Реализация ядра», где исследованы подробности воплощения ядра безопасности cryptlib; «Методы верификации», где проанализированы существующие методы построения защищенных систем и установлена необходимость нового подхода; «Верификация ядра cryptlib», где представлен новый метод построения безопасной системы.

Как поясняет Гутман, по сути дела данные главы представляют собой альтернативный взгляд на то, что люди уже давно пытаются сделать с помощью систем типа B3/A1, описанных в «Оранжевой книге» (т.е. спецификациях TSEC Министерства обороны США, описывающих критерии построения безопасных компьютерных систем, где классом A1 обозначено нечто абсолютно секретное и недоступное). Однако альтернативный путь вполне достижим и практичен для систем с открытым исходным кодом и для тех, кто не имеет десятков миллионов долларов в кармане и 5-10 лет на создание продукта.

Что там ни говори, а в нашем мире, увы, сравнительно немного таких, как этот “хороший человек” (gut-Mann): в равной степени столь же одаренных, сколь и щедрых, без колебаний раздающих свои труды и открытия всем, кто в них нуждается. Если б людей таких было хотя бы раз в десять побольше, мир мог бы выглядеть сильно иначе…

Но и в нынешней своей пропорции они делают нас более осведомленными, более независимыми в суждениях, а значит — и более свободными.

# # #