Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Практическая криптография

..pdf
Скачиваний:
6
Добавлен:
12.11.2023
Размер:
16.23 Mб
Скачать

394

Глава 23. Стандарты

Когда мы пытались донести эту проблему до тех, кто занимается стан­ дартизацией, то часто получали в ответ высказывания примерно такого рода: “Этим технарям всегда подавай идеальный стандарт... ”, “Политические реа­ лии таковы, что мы вынуждены идти на компромисс... ”, “Именно так и ра­ ботает система... ”, “Да посмотрите же, чего мы достигли... ”, “Все и так хо­ рошо. .. ” и т.п. Простите за резкость, но в сфере безопасности это не пройдет. Даже того, что после принятия стандарта необходимо проводить тестирова­ ние на совместимость, вполне достаточно, чтобы четко уяснить: стандарты, разработанные комитетом, не подходят для обеспечения безопасности. Если функциональная часть стандарта (т.е. самая легкая его часть) недостаточ­ но хороша, чтобы гарантировать совместимость систем различных разработ­ чиков без предварительного тестирования, тогда часть стандарта, отвечаю­ щая за безопасность, скорее всего, тоже не сможет обеспечить безопасность систем без тестирования. В свою очередь, мы знаем, что протестировать си­ стему на безопасность невозможно. Вероятно, мы могли бы создать реали­ зацию, использующую подмножество функциональности стандарта, которое также будет безопасным, но для стандарта безопасности этого явно недоста­ точно. Стандарт безопасности провозглашает, что, придерживаясь его, мы непременно достигнем определенного уровня безопасности. Нет, безопасность слишком сложна, чтобы отдавать ее в руки комитета.

Мы не знаем ни одного стандарта, разработанного комитетом, который бы стоил внимания. Поэтому, когда кто-нибудь предлагает использовать крипто­ графический стандарт, мы относимся к этому крайне неприязненно, а порой и враждебно.

Существует лишь несколько действительно стоящих криптографических стандартов, ни один из которых не был разработан комитетом. Иногда стан­ дарт разрабатывается небольшой группой единомышленников, которые вме­ сте создают один последовательный стандарт. А иногда проект принимают в качестве стандарта без каких-либо политических компромиссов. Такие стан­ дарты могут оказаться довольно неплохими. Рассмотрим два наиболее важ­ ных из них.

23.2SSL

Это протокол безопасности, используемый Web-обозревателями для без­ опасного подключения к Web-серверам. Первой версией данного протокола, вошедшей в широкое применение, была SSL 2, которая содержала несколько недочетов в системе безопасности. Улучшенная версия SSL получила назва­ ние SSL 3 [36). Она была разработана группой из трех человек без организа­

23.3 AES: стандартизация на конкурсной основе

395

ции каких-либо комитетов. Протокол SSL 3 получил широкое распростране­ ние и в целом был признан хорошим.

Небольшое предупреждение: SSL —хороший протокол, но это еще не озна­ чает, что любая система, использующая его, будет безопасной. Для аутенти­ фикации Web-сервера SSL использует функциональность инфраструктуры открытого ключа (PKI), а клиент PKI, встроенный в большинство обозре­ вателей, обладает такой толерантностью к чужим сертификатам, что общий уровень безопасности оказывается довольно низким. У одного из наших обо­ зревателей имеется 108 различных корневых сертификатов от 35 центров сертификации. Таким образом, даже не начав рассмотрение активных атак, мы уже сталкиваемся с фактом существования 35 различных организаций, разбросанных по всему миру, которым мы должны доверять всю нашу Webинформацию.

Протокол SSL никогда не был стандартизирован по-настоящему. Он был просто разработан компанией Netscape и стал стандартом де-факто. Стан­ дартизацией и дальнейшей разработкой протокола SSL (под именем TLS) занимается IETF. Мы не занимались подробным изучением TLS. Пока что отличия TLS от SSL выглядят довольно незначительными, поэтому у нас нет оснований думать, что TLS в чем-то уступает SSL 3. Тем не менее, учитывая последние “достижения” IETF в области разработки протоколов безопасно­ сти, таких, как IPSec [32], мы опасаемся, что эффект комитета опять проявит себя и испортит хороший стандарт.

23.3AES: стандартизация на конкурсной основе

Для нас AES является ярким примером того, как следует стандартизиро­ вать системы безопасности. Стандарт AES не был разработан на собраниях комитета — его отобрали на конкурсной основе. Схема проведения подобного конкурса довольно проста. Вначале вы задаете, каким требованиям должна соответствовать система и какова ее цель. Разработка спецификаций системы может выполняться сравнительно небольшим коллективом людей с исполь­ зованием многих внешних источников.

Следующий шаг — объявить конкурс. Вы обращаетесь к экспертам с просьбой разработать законченное решение, которое будет соответствовать заданным требованиям. Как только эксперты представят свои предложения, вам останется лишь выбрать одно из них. Это прямое соревнование, в ко­ тором проекты-конкурсанты оцениваются по раду критериев. Если главным критерием отбора выступает безопасность, участники будут крайне заинте­ ресованы в том, чтобы найти как можно больше слабых мест в безопасности систем своих конкурентов. В случае удачи это обеспечит неоценимую обрат­

396

Глава 23. Стандарты

ную связь. В других ситуациях для проведения анализа безопасности вам может понадобиться помощь внешних экспертов.

Если вам повезет, в ходе конкурса вы сможете отобрать одно предложе­ ние, которое и будет принято в качестве стандарта либо без изменений, либо с небольшими изменениями. Не следует объединять в общий стандарт чер­ ты различных предложений; подобные действия приведут лишь к появлению еще одного стандарта, разработанного комитетом. Если ни одно из предло­ жений не удовлетворит заданным требованиям и вам покажется, что можно создать что-нибудь получше, подумайте о проведении нового конкурса.

Именно так Национальный институт стандартов и технологий США (NIST) проводил конкурс на лучший шифр при выборе стандарта шифрова­ ния AES, и данная схема сработала просто замечательно. К участию в кон­ курсе были допущены 15 предложений, из которых в ходе первого раунда отобрали пять финалистов. Второй раунд оценки проектов-финалистов при­ вел к выявлению победителя. Мы были приятно удивлены тем, что каждый из пяти финалистов был вполне достоин называться новым стандартом; без­ условно, этот стандарт был бы намного лучше, чем любой из стандартов, разработанных комитетом.

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

Глава 24

Патенты

Патенты имеют намного большее влияние на криптографию, чем хоте­ лось бы. Мы понимаем потребность бизнеса в существовании патентов; более того, целый ряд патентов уже подписаны нашими именами. (В большинстве случаев эти патенты являются результатом консультативной работы, а по­ тому принадлежат компаниям, которые нас наняли.) К сожалению, наличие патентов часто означает, что мы не можем использовать необходимые мате­ матические инструменты, и вынуждает идти на компромисс, который нам не по душе. Что еще более важно, мы не верим, что патенты приносят пользу сообществу безопасности. Существует несколько аспектов текущей системы патентования, которые делают ее нежизнеспособной на практике.

24.1Прототип

Предполагается, что мы не можем получить патент на то, что уже всем известно. Изобретение, которое публично известно еще до того, как его попы­ таются запатентовать, называется прототипом (prior art). Между тем все, кто работает с текущей системой патентования, знают, что она не мешает заявлять свои права на давно существующие вещи. В 2001 году некий жи­ тель Австралии запатентовал колесо, а точнее, “кругообразное устройство для облегчения транспортировки” [51J. Нечего и объяснять, что у данного устройства был прототип. Это была попытка продемонстрировать, насколь­ ко несовершенна система патентования. Большинство патентов не содержат столь вопиющего плагиата, но мы все чаще и чаще сталкиваемся с патен­ тами, распространяющимися на уже известные изобретения. Однажды нам даже попалась технология, запатентованная неким человеком через шесть месяцев после посещения конференции, на которой эта же технология была представлена другим человеком.

398

Глава 24. Патенты

Причина незаконного присвоения чужих изобретений состоит в том, что патентное бюро просто не может проверить, есть ли у патентуемой техноло­ гии прототип. В окружающем мире слишком много прототипов; мы просто не в состоянии обнаружить их все. Проблема состоит в том, что после выдачи патента его истинность не подвергается сомнению. Другими словами, если на протяжении многих лет вы использовали в своих продуктах некоторый шифр и кто-то вдруг получает патент на подобное изобретение, вам придет­ ся взять на себя тяжелое бремя доказательства того, что ваше изобретение является прототипом. Владелец патента может спокойно устраниться от это­ го и переложить всю работу на вас. Это, конечно, обойдется вам в немалую сумму. Оспаривание патента требует привлечения юристов, занимающихся патентными делами, поэтому такие патенты могут служить замечательным средством законного вымогательства: купите дешевую лицензию или же по­ тратьте в 10 раз больше на своих адвокатов.

24.2Расширения

Система патентования имеет еще одну странную особенность. Мы не со­ всем понимаем, как она работает, но это одна из уловок юристов, занима­ ющихся патентными делами. В чем же состоит эта особенность? Для каж­ дой запатентованной технологии один или два патента всегда оставляют “от­ крытыми”; другими словами, процесс патентования технологии искусственно продлевается. Когда вы регистрируете патент, вы обязаны зарегистрировать и так называемый документ о раскрытии (disclosure document), который опи­ сывает соответствующую технологию. Зарегистрированный документ о рас­ крытии не может впоследствии подвергаться изменению, а вот пункты самой формулы изобретения могут. А задержать процесс патентования с помощью процедурной волокиты не составляет никакого труда. Итак, вы затягивае­ те регистрацию нескольких патентов, являющихся расширениями основного патента.

Теперь предположим, что ваш конкурент начинает использовать техно­ логию, которая значительно отличается от запатентованной вами, однако все же имеет с ней кое-что общее. Тогда вы пытаетесь переписать пункты “от­ крытых” патентов таким образом, чтобы они начали распространяться и на технологию конкурента. Утверждение пунктов патента проводится в ходе пе­ реговоров между вами и патентным бюро, а поскольку в патентном бюро не знают, что именно использует ваш конкурент, вероятность утверждения новых пунктов патента весьма высока. Затем вы прекращаете затягивать процесс патентования и получаете патент, пункты которого непосредствен­ но распространяются на технологию конкурента. Осталось только подать на

24.3 Расплывчатость описаний

399

 

конкурента в суд за нарушение патента. На наш взгляд, все это серьезно отдает мошенничеством; между тем подобная практика абсолютно законна

иприменяется на самой широкой основе.

24.3Расплывчатость описаний

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

Предположим, вы работаете над системой и думаете, что определенный патент может представлять для нее потенциальную угрозу. Ну что ж, вы можете достать патент, прочитать его и понять, распространяется ли его действие на вашу разработку, правильно? Нет, неправильно! Понять, распро­ страняется ли действие патента на конкретную систему, чрезвычайно сложно.

Вконце концов это решает судья, у которого нет технического образования.

Стаким же успехом принимать решение о нарушении патента можно было бы, просто подбросив монетку.

24.4Чтение патентов

Наш совет: никогда не читайте патенты! Возможно, вы думаете, что чте­ ние патента позволит понять, на что он распространяется. К сожалению, все не так просто. Если вы нарушите патент, не зная об этом, вам, скорее всего, придется выплатить компенсацию его владельцу. Но если владелец патента докажет, что нарушение было сознательным (потому что вы читали текст патента), размер компенсации может возрасти втрое. Поэтому если вы чита­ ете патент, то автоматически повышаете свою ответственность за нарушение патента в три раза.

А теперь самый больной удар: даже если вы прочитаете патент и, как экс­ перт в своей области, решите, что ваша работа не подпадает под его действие, судья все равно может решить, что патент был нарушен сознательно. Видите ли, эксперт не имеет полномочий решать, на что распространяется патент. Это может сделать только юрист, знающий патентное право. Поэтому, что­ бы избежать опасности в виде выплаты тройной компенсации, вам придется

400

Глава 24. Патенты

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

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

24.5Лицензирование

Если у пользователя А есть патент, а пользователь Б хочет применять за­ патентованную технологию, то пользователь А может продать ему лицензию. Это весьма распространенное поведение. Многие большие компании активно практикуют взаимное лицензирование. Обычно они просто предоставляют друг другу лицензии на свои патенты без взимания какой-либо денежной оплаты. Компаниям меньшего размера приходится покупать лицензии. Во многих отраслях программной инженерии это не составляет проблемы. Ес­ ли вам нужен патент, вы можете получить лицензию на вполне приемлемых условиях.

В криптографии, однако, все обстоит по-другому. В 80-х годах прошлого века обстановка в криптографическом сообществе была испорчена появлени­ ем нескольких базовых, начальных патентов на RSA и DH — единственные хорошие криптосистемы с открытым ключом, которые существовали на то время. В течение многих лет получить лицензию на эти фундаментальные патенты было невероятно сложно и дорого. Мы знаем массу трагических историй о компаниях, которые пытались приобрести лицензии и просто по­ лучили отказ.

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

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

24.5 Лицензирование

401

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

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

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

Именно проблемы лицензирования, касающиеся режимов ХСВС, IACBC и ОСВ, стимулировали разработку режима ССМ (см. раздел 8.5). Режим ССМ работает в два раза медленнее, однако его разработчики решили обой­ тись без патентования. Это преимущество намного перевешивает все допол­ нительные вычисления, которые включает в себя данный режим.

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

402

Глава 24. Патенты

24.6Защищающие патенты

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

24.7Как исправить систему патентования

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

Существует, разумеется, группа людей, которые постоянно выигрывают от текущего положения дел в системе патентования, — это юристы. Думаем, не стоит лишний раз объяснять, представители какой профессии утверждают, что система патентования вполне работоспособна или даже хороша.

Мы часто слышим, что патенты защищают маленького безобидного раз­ работчика от больших грозных компаний. Какая нелепость! Вероятно, от­ дельные примеры подобных ситуаций все же существуют, однако в большин­ стве случаев все происходит наоборот. Разработчик-одиночка или небольшая компания создают действительно новый продукт. Они вкладывают свое вре­ мя и деньги в разработку этого продукта и выставляют его на рынке. Но как только такие разработчики начинают угрожать рынку крупной компании, их тут же забрасывают исками о нарушении патентов. Небольшие компании не могут позволить себе оспаривать патент судебным путем, что делает их

24.8 Отречение

403

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

Мы думаем, что IT-индустрии было бы гораздо лучше без патентов, чем с ними. Некоторые из наших друзей придерживаются иного мнения, иданный вопрос, разумеется, открыт для обсуждения. Но текущая система патентова­ ния попросту не работает так, как положено.

Для начала мы бы хотели ускорить процесс патентования. Мы полагаем, что выдавать патент следует в течение трех месяцев с момента подачи заяв­ ки, а срок его действия необходимо ограничить до трех-пяти лет. Кроме того, нужно разрешить всем и каждому подвергать сомнению истинность патентов на основе существующих прототипов даже после того, как патент был выдан. И наконец, следует создать систему, временной масштаб функционирования которой будет исчисляться месяцами, а не годами. Компьютерная индустрия никак не выиграет от правила, позволяющего осудить разработчика, нару­ шившего патент пять лет назад. Нам нужно, чтобы ответ был дан в рамках временного масштаба компьютерной индустрии, который составляет не более нескольких месяцев.

Разумеется, все это — наше личное мнение. Система патентования не бу­ дет исправлена просто потому, что это не принесет никакой политической выгоды. Итак, мы вынуждены жить с существующей системой, а значит, придется патентовать все изобретения только для того, чтобы защитить себя от своих конкурентов. А разработчики, занимающиеся криптографическими системами, будут по-прежнему тратить время и усилия на то, чтобы стара­ тельно избегать запатентованных областей.

24.8Отречение

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