Выбрать главу

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

Проблема вот в чем: любой человек, сколь угодно неопытный, может разработать элемент криптографии, который сам взломать не может. Это – существенно. Это значит, что кто угодно может сесть и создать криптографический элемент, попытаться его взломать, потерпеть неудачу, а затем сказать: «Я изобрел безопасный алгоритм, протокол или что-то еще». Реально он говорит этим: «Я не могу его взломать, поэтому он безопасен». Первый вопрос, который надо задать в ответ: «Да кто ты такой?» Или более пространно: «Почему я должен верить в надежность чего-то, если ты не смог это взломать? Чем подтверждается то, что если у тебя это не вышло, то и никто другой не сможет этого сделать?»

Криптографическое сообщество обнаружило, что ни один человек не готов предоставить такие доказательства. (Может быть, и есть кто-нибудь в Агентстве национальной безопасности, но эти люди не болтливы.) Нет никакого способа доказать надежность элемента – можно либо продемонстрировать ненадежность, либо признать попытку неудавшейся. Это называется проверкой гипотезы с нулевым разглашением. Лучшее, что могут сказать люди, занимающиеся безопасностью: «Мы не знаем, как взломать этот алгоритм, протокол или что-то другое, и никто другой тоже не знает». Экспертная оценка программы, длительный период испытаний – вот единственное доказательство безопасности, которое у нас есть.

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

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

Посмотрите на следующие три варианта протоколов безопасности.

IPsec. Его разработка началась в 1992 году. Разработка велась комиссией «в открытую» и была предметом тщательного публичного изучения с самого начала. Все знали, что это важный протокол, и огромные усилия прилагались для того, чтобы все было правильно. Алгоритмы защиты предлагали, взламывали, а затем модифицировали. Версии классифицировались и анализировались. Первый проект стандарта был выпущен в 1995 году. Обсуждались достоинства безопасности и эффективность, простота исполнения, возможности дальнейшего расширения и применения. В 1998 году комиссия представила окончательный вариант протокола. До сих пор каждый, кто интересуется, может открыто его изучать.

РРТР. Фирма Microsoft разработала свой собственный Point-to-Point Tunneling Protocol (новая сетевая технология, которая поддерживает многопротокольные виртуальные частные сети, позволяя удаленным пользователям безопасно обращаться к корпоративным сетям с помощью коммутируемого соединения, предоставляемого интернет-провайдером или с помощью прямого соединения с Интернетом), который должен выполнять во многом схожие с IPsec функции. Был создан свой протокол аутентификации, свои хэш-функции и свои алгоритмы генерации ключа. Все эти элементы оказались крайне слабыми. В них использовался известный алгоритм шифрования, но использовался таким образом, что не обеспечивал безопасности. Программисты допустили ошибки в реализации, которые еще больше ослабляли систему. Но поскольку их коды были спрятаны внутри, никто не заметил, что РРТР недостаточно надежен. Microsoft использовала РРТР в Windows NT, 95 и 98, а также в своих продуктах для виртуальных частных сетей. Статьи, описывающие недостатки протокола, не публиковались до 1998 года.

Право собственности.

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