bannerbannerbanner
Секреты и ложь. Безопасность данных в цифровом мире

Брюс Шнайер
Секреты и ложь. Безопасность данных в цифровом мире

Нас особо волнуют протоколы безопасности. Кроме всех перечисленных выше требований мы хотим, чтобы покупатель и продавец не имели возможности обманывать (что бы ни означало «обманывать» в нашем контексте). Мы не хотим, чтобы продавец мог заглянуть в бумажник покупателя на шаге 3. Мы не хотим, чтобы продавец не отдал покупателю сдачу на шаге 4. Мы не хотим, чтобы покупатель застрелил продавца на шаге 3 и ушел с украденными мандаринами. Такие способы обмана распространены и в материальном мире, а анонимность киберпространства только увеличивает опасность.

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

1. Алиса передает Бобу ключи и документы.

2. Боб дает Алисе чек на сумму покупки.

3. Алиса кладет деньги в банк.

Здесь Боб запросто может сжульничать. Он может дать Алисе фальшивый чек. Она не будет знать, что чек фальшивый, и не узнает, пока ей не скажут об этом в банке. К тому времени Боб с ее машиной будет уже далеко.

Когда я продавал машину несколько лет назад, во избежание такой атаки придерживался несколько модифицированного протокола.

1. Боб выписывает чек и идет с ним в банк.

2. Когда на счет Боба поступит достаточно денег, чтобы покрыть чек, банк «заверяет» чек и возвращает его Бобу.

3. Алиса передает Бобу ключи и документы о праве собственности.

4. Боб дает Алисе заверенный чек на сумму покупки.

5. Алиса кладет деньги в банк.

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

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

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

1. Алиса передает ключи и документы о праве собственности юристу.

2. Боб отдает юристу чек.

3. Юрист проверяет чек в банке.

4. По прошествии оговоренного временного промежутка, который отводится на то, чтобы проверить чек и зарегистрировать машину, юрист отдает Бобу документы. Если клиринг чека не удается осуществить в течение оговоренного времени, юрист возвращает документы Алисе. Если Боб не может получить новые документы на машину (поскольку Алиса дала ему недействительные документы), Боб предоставляет юристу соответствующие доказательства и получает назад свои деньги.

Как и в предыдущем протоколе, здесь привлекается третья доверенная сторона. В данном случае это юрист. Алиса не доверяет Бобу, Боб не доверяет Алисе, но оба они верят, что юрист на последнем шаге поведет себя беспристрастно. Юрист совершенно не заинтересован в чьей-либо выгоде – ему все равно, отдаст он документы Бобу или Алисе. Он задержит деньги на депоненте и будет действовать в соответствии с соглашением между Бобом и Алисой.

Другие протоколы могут быть более простыми и не требовать столь сложного обмена. Например, протокол, в соответствии с которым банк в состоянии удостовериться, что чек подписан Алисой.

1. Алиса подписывает чек.

2. Банк сравнивает подпись на чеке с подписью на папке Алисы.

3. Если они совпадают, банк дает Алисе деньги. Если не совпадают – не дает.

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

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

В Интернете используется множество протоколов безопасности; я расскажу о них в следующем разделе. У других цифровых сетей есть свои протоколы безопасности. Индустрия сотовых телефонов применяет целый ряд протоколов – как для секретности, так и для предотвращения мошенничества (с переменным успехом). У компьютерных приставок к телевизору также есть протоколы безопасности. И у смарт-карт тоже.

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

Более сложные протоколы дают криптографии возможность прыгнуть через любые препятствия. Можно предоставлять так называемые доказательства с нулевыми знаниями, когда Алиса способна доказать Бобу, что она что-то знает, не открывая, что именно. Криптографические протоколы также могут обеспечивать систему одновременного подписания контрактов через Интернет. Можно создать цифровой аналог заказных писем, когда Алиса сумеет прочесть письмо, только отослав обратно «расписку в получении».

При помощи протокола, называющегося совместным управлением секретностью (secret sharing), мы можем предписывать требование соглашения о доступе (collusioninaccess) – секрет, который нельзя узнать, если многие люди не действуют сообща. Это – действительно необходимая вещь. Представьте себе ядерную ракетную установку. Для того чтобы запустить ракету, два человека одновременно должны повернуть ключи и разблокировать систему. А замочные скважины (или в данном случае их цифровой аналог) достаточно сложны, чтобы один-единственный солдат не мог повернуть все ключи и убить всех; чтобы запустить ракету, по крайней мере два человека должны действовать сообща. Или представьте себе контроль счетов корпорации, в соответствии с которым для особо ценных чеков требуется две подписи: по крайней мере два из пяти членов правления корпорации должны подписать чек. Мы можем создать что-то подобное при помощи криптографии.

Получится даже еще лучше. Можно создать протокол для тайного голосования в Интернете – такой, что только зарегистрированный избиратель сможет проголосовать, никто не сумеет проголосовать дважды, никто не сможет узнать, кто за кого голосовал, и все будут уверены, что выборы честные. Можно даже создать электронную валюту, однако кто-нибудь попытается использовать эти платежные средства дважды…

Честно говоря… если вы захотите, мы сможем сделать и это.

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

Криптографические протоколы Интернета

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

Первой областью применения криптографии в Интернете стала электронная почта. В ней работали два соответствующих протокола: S/MIME и OpenPGP. OpenPGP – это протокол в составе PGP и его разновидностей. S/MIME – стандартный интернет-протокол во всех других случаях.

Netscape изобрела SSL (Secure Sockets Layer – протокол, гарантирующий безопасную передачу данных по сети; комбинирует криптографическую систему с открытым ключом и блочным шифрованием данных) на заре существования Веб, когда люди захотели заниматься безопасной электронной торговлей при помощи своих браузеров. SSL существовал в нескольких воплощениях (он был полем боя во время войны браузеров Netscape и Microsoft и в итоге был назван TLS (Transport Layer Security)). Эти протоколы встроены в браузеры и позволяют людям зашифровать секретную информацию, посылаемую на различные веб-сайты.

Более новые криптографические протоколы разработаны для защиты пакетов IP. Среди них Microsoft Point-to-Point Tunneling Protocol (PPTP, у которого есть грубые дефекты), Layer Two Tunneling Protocol (L2TP) и IPsec (он существенно лучше, хотя и слишком сложен). IKE (Internet Key Exchange) – это, как видно из названия, протокол обмена ключами. Сегодня эти протоколы используются преимущественно для того, чтобы обеспечить работу виртуальных частных сетей (VPN). Тем не менее протоколы безопасности Интернета «умеют» намного больше, чем протоколы VPN. У них есть возможность обеспечивать безопасность большей части трафика. Со временем, может быть, эта возможность реализуется.

 

Существуют также и другие интернет-протоколы. SET – разработанный компаниями Visa и MasterCard для защиты операций с кредитными картами во Всемирной паутине. (Эти протоколы никогда не будут широко применяться.) Протокол SSH (Secure Shell – защитная оболочка) используется для шифрования и идентификации команд для удаленных соединений. Другие протоколы имеют дело с сертификатами открытых ключей и инфраструктурой сертификатов: PKIX, SPKI и им подобные. Microsoft использует свои протоколы для защиты Windows NT.

Большая часть этой работы была проделана под эгидой Проблемной группы проектирования Интернета (Internet Engineering Task Force, IETF – одна из групп IAB, отвечающая за решение инженерных задач Интернета, выпускает большинство RFC, используемых производителями для внедрения стандартов в архитектуру TCP/IP). Процесс нуждается в тщательном согласовании, а это значит, что создание подобных вещей требует длительного времени и в результате они получаются более сложными, чем могли бы быть. Как мы увидим позднее, эта сложность не является хорошим фактором.

Типы атак, направленных на протоколы

Так же как существует много различных атак, мишенью которых служат алгоритмы, множество их направлено и против протоколов. Простейшие из них – это пассивные атаки: вы просто присматриваетесь к протоколу и ищете, что можно понять. Часто в результате простого подслушивания можно узнать очень многое.

Существует множество веб-сайтов электронной почты. Чтобы ими воспользоваться, вы идете на этот сайт, набираете ваше имя и пароль. Как правило, такой протокол уязвим для атаки перехвата. Другая серия протоколов, уязвимых для атаки-перехвата, – протоколы для предупреждения мошенничеств с аналоговыми телефонами. Кто-то, у кого есть сканирующее устройство, может прослушать соединение телефона с базовой станцией, а затем оплачивать свои звонки со счета того телефона. (Это называется телефонным клонированием. Цифровые сотовые телефоны в этом смысле лучше, но ненамного.)

Узким местом атак перехвата является то, что не всегда понятно, какая информация представляет ценность. Можете представить себе зашифрованную телефонную сеть, в которой невозможно (учитывая секретность, обеспечиваемую криптографией) подслушивать телефонные разговоры. Однако информация о подключениях остается доступной. Эта информация часто тоже бывает полезной. В военной обстановке, например, вы можете многое узнать из анализа трафика: кто с кем говорит, когда и как долго.

Более сложные атаки – активные: вставка, удаление и изменение сообщений. Они могут оказаться существенно более действенными.

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

Активные атаки способны нанести множество повреждений такой системе. Предположим, вы можете вмешиваться в протокол между банком и картой. Если вам доступно воспроизведение старых сообщений, вы можете добавить на карту побольше денег. Или, например, вы умеете удалять сообщение в протоколе перевода денег с карты при покупке – тогда сумма на карте никогда не будет уменьшаться.

Одна из мощных атак – это атака посредника, «человека посередине» (man-in-the-middle-attack). Алиса хочет тайно поговорить с Бобом, применяя какой-то алгоритм с открытым ключом, чтобы создать свой ключ. Ева перехватывает сообщение Алисы. Она представляется Алисе как Боб, завершая протокол обмена ключами. Затем она связывается с Бобом и представляется как Алиса, выполнив тем самым второй протокол обмена ключами с Бобом. После этого она может прослушивать связь. Когда Алиса посылает Бобу сообщение, Ева его перехватывает, расшифровывает, зашифровывает заново и посылает Бобу. Когда Боб посылает сообщение для Алисы, Ева проделывает аналогичную процедуру. Это очень действенная атака.

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

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

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

Множество подобных вещей формализовано. Существуют автоматические инструменты (сервисные программы) для анализа протоколов: формальные логики, компьютерные программы, которые анализируют детали протоколов, и другие. Эти инструменты полезны, они регулярно обнаруживают проблемы в существующих протоколах, но с их помощью нельзя «доказать» надежность протокола.

Выбор алгоритма или протокола

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

Эту проблему лучше всего проиллюстрировать примером. Допустим, врач говорит вам: «Я знаю, что есть антибиотик, который хорошо помогает при лечении вашей инфекции; у него нет вредных побочных эффектов и десятилетия исследований говорят в пользу такого лечения. Но я собираюсь назначить вам вместо этого толченые сухари, потому что мне кажется, что они тоже помогут». Вы пошли бы к другому врачу.

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

В криптографии безопасность приходит путем следования за широкими массами. Доморощенные алгоритмы невозможно подвергать в течение сотен и тысяч часов криптоанализу, через который прошли DES и RSA. Компания или даже промышленное объединение не могут мобилизовать ресурсы, которые использовались, чтобы противостоять аутентификационному протоколу Kerberos или IPsec. Ни один патентованный почтовый протокол шифрования не в состоянии повторить конфиденциальность, предлагаемую PGP или S/MIME. Следуя в общей струе, вы обеспечиваете уровень криптоаналитической экспертизы всемирного сообщества, а это вам – не несколько недель работы ничем не выдающихся аналитиков.

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

И остерегайтесь врача, который говорит: «Я изобрел и запатентовал абсолютно новый способ лечения, который состоит в употреблении толченых сухарей. Этот метод еще не испробован, но я уверен, что он великолепен». Помните, что новую криптографию часто называют змеиным ядом.

1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34 
Рейтинг@Mail.ru