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

Вы можете выбрать одну из этих трех систем для обеспечения надежности своей виртуальной частной сети. Хотя у любой из них есть слабые места, вы сделаете опасность минимальной. Если вы работаете с IPsec – больше уверенности в надежности алгоритмов и протоколов. Конечно, это не гарантия безопасности – реализация может оказаться слабой (см. главу 13) или кто-то придумает новые способы атаки – но по крайней мере вы знаете, что алгоритмы и протоколы прошли какой-то уровень анализа.

Другой пример: рассмотрим симметричный алгоритм шифрования. Их, безусловно, существуют сотни, но давайте ограничимся пятью.

• Тройной DES, который начиная с середины 70-х был проанализирован практически всем криптографическим сообществом.

• AES, который (прежде чем его выберут) будет подвергнут трехлетнему тестированию, вовлекающему практически все криптографическое сообщество.

• Некий алгоритм X, который был представлен на академической конференции два года назад; пока что вышла одна статья с анализом, судя по которой это – надежный алгоритм.

• Алгоритм Y, который кто-то недавно поместил в Интернете и заверил нас в его надежности.

• Алгоритм Z, который компания сохраняет в секрете до получения патента; возможно, они нанимали несколько шифровальщиков для трехнедельного анализа.

Это – нетрудный выбор. Могут существовать ограничения, которые не позволят вам выбрать тот алгоритм, который вы хотите (AES существует главным образом потому, что тройной DES слишком медлителен для многих сред), но выбор достаточно ясен.

Меня постоянно изумляет, как часто люди не выбирают очевидного решения. Вместо того чтобы использовать общедоступные алгоритмы, компании цифровой сотовой связи решили создать собственный запатентованный алгоритм. За последние несколько лет все алгоритмы стали общедоступными. И став общедоступными, они были взломаны. Каждый из них. То же самое случилось с алгоритмом DVD-шифрования, алгоритмом шифрования Firewire, различными алгоритмами шифрования Microsoft и бесчисленным множеством других. Любой, кто создает собственный образец шифрования, – гений или глупец. С учетом соотношения гениев и глупцов в нашей действительности шансы выжить у образца невелики.

Иногда приводится следующий контраргумент: секретная криптография надежнее, потому что она тайная, а открытая криптография опаснее, поскольку она открытая. Это звучит правдоподобно, но если вы на минуту задумаетесь, несоответствия станут очевидными. Открытые образцы созданы так, чтобы обеспечивать безопасность, несмотря на свою открытость. Таким образом, их не опасно сделать общедоступными. Если элемент обеспечивает безопасность, только оставаясь секретным, то он будет работать до тех пор, пока кто-нибудь не разберется в его устройстве и не опубликует способ взлома. Выпускаемые запатентованные элементы включают все алгоритмы, описанные в предыдущем разделе, различные протоколы смарт-карт для электронной торговли, секретные хэш-функции в картах SecurID и протоколы, защищающие мобильный терминал данных полиции MDC-4800 компании Motorola.

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

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