В. Р. Гинзбург Перевод с английского



Pdf көрінісі
бет73/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   69   70   71   72   73   74   75   76   ...   203
Байланысты:
практическая криптография


Глава 9
Проблемы реализации. Часть I
После всего того, что уже было сказано в этой книге, можно перейти
к обсуждению проблем реализации. Реализация криптографических систем
настолько отличается от реализации остального программного обеспечения,
что определенно заслуживает особого внимания.
Одна из основных проблем, как всегда, касается правила слабого звена
(см. раздел 2.2). Нет ничего проще, чем пошатнуть безопасность системы
на уровне реализации. В действительности ошибки реализации (в основном
в виде переполнения буфера) представляют собой самую серьезную угрозу
безопасности реальных систем. Если вы следили за проблемами компьютер-
ной безопасности на протяжении последних нескольких лет, то, безусловно,
понимаете, что мы имеем в виду. На практике криптографические системы
взламываются крайне редко. Это происходит отнюдь не потому, что они та-
кие надежные; мы уже проанализировали достаточно подобных систем, что-
бы с уверенностью заявить, что это не так. Все дело в том, что найти ошибку
реализации гораздо легче, чем искать уязвимое место в криптографических
алгоритмах. Зачем же обременять себя проблемами криптоанализа при на-
личии более легкого пути?
До сих пор тематика наших обсуждений была ограничена вопросами крип-
тографии. В этой главе, однако, мы решили сконцентрировать внимание на
окружении, в котором функционируют криптографические алгоритмы. Каж-
дая часть системы влияет на безопасность. Чтобы получить действительно
надежную систему, все ее компоненты с самого начала должны разрабаты-
ваться не просто с оглядкой на безопасность; безопасность должна стать од-
ной из главных целей. “Система”, о которой мы говорим, может быть очень
большой. Она включает в себя все компоненты окружения, неправильное по-
ведение которых может негативно отразиться на свойствах безопасности.
Одной из главных частей окружения, конечно же, является операционная
система. К сожалению, ни одна из современных операционных систем не была
150


151
ориентирована в первую очередь на обеспечение безопасности. Из этого сле-
дует, что реализовать безопасную систему невозможно. Мы не знаем, как это
сделать, и пока не видим никого, кто бы это знал. Реальные системы вклю-
чают в себя массу компонентов, которые никогда не были ориентированы на
обеспечение безопасности, поэтому достигнуть того уровня безопасности, ко-
торый нам нужен, просто невозможно. Так, может быть, стоит махнуть на
все рукой? Вовсе нет. Когда мы разрабатываем криптографическую систему,
то прилагаем все усилия, чтобы гарантировать безопасность хотя бы нашей
части системы. На первый взгляд это может напомнить психологию эгои-
ста, которого беспокоит только его маленький мирок. Это совсем не так: нас
действительно
беспокоят другие части системы; мы просто не в состоянии
контролировать их разработку. Потому-то мы и решили написать эту кни-
гу, чтобы другие тоже осознали коварную природу безопасности и поняли,
насколько важно правильно выполнять свою работу.
Еще одна причина того, что криптографическая часть системы долж-
на быть реализована правильно, уже рассматривалась в одной из предыду-
щих глав: атаки на криптографические алгоритмы особенно опасны потому,
что могут остаться незамеченными. Если злоумышленнику удастся взломать
криптографический алгоритм, вы вряд ли это заметите. Это можно сравнить
с вором, у которого есть все ключи от вашего дома. Если вор предпримет
необходимые меры предосторожности, как вы узнаете, что он у вас побывал?
Наша долгосрочная цель состоит в том, чтобы разрабатывать безопасные
компьютерные системы. Для достижения этой цели каждый должен выпол-
нять то, что от него требуется. Наша работа, которой и посвящена эта кни-
га, — обеспечить безопасность компонентов, отвечающих за криптографию.
Кто-то другой должен обеспечить безопасность остальных частей системы.
Мы не знаем, как это делать, но, вероятно, это знают другие разработчики
(а, может быть, когда-нибудь узнаем и мы). Пока этого не случится, без-
опасность системы в целом будет ограничена надежностью ее самого слабого
звена, и мы сделаем все возможное, чтобы этим звеном никогда не стала
криптография.
Нельзя не упомянуть и еще одну причину, по которой так важно правиль-
но проектировать криптографические системы. Операционная система функ-
ционирует на отдельном компьютере. Криптографические системы, в свою
очередь, часто применяются в коммуникационных протоколах, предназна-
ченных для обмена данными между множеством компьютеров. Обновление
операционной системы, установленной на отдельном компьютере, является
вполне осуществимой задачей и на практике выполняется относительно ча-
сто. Изменение коммуникационных протоколов в сети — это сущий кошмар.
Не зря же многие сети все еще работают с технологиями 70-х и 80-х годов
прошлого века! Мы должны учитывать, что любая разработанная крипто-


152

Достарыңызбен бөлісу:
1   ...   69   70   71   72   73   74   75   76   ...   203




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет