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



Pdf көрінісі
бет11/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   7   8   9   10   11   12   13   14   ...   203
Байланысты:
практическая криптография


Глава 1. Наша философия проектирования
1.2
Обратная сторона оснащенности
Не существует сложных систем, которые были бы безопасными. Слож-
ность — главный враг безопасности; она практически всегда выражается в ко-
личестве дополнительных средств, возможностей и параметров, доступных
пользователю программы.
Мы еще вернемся к вопросу о том, почему сложность автоматически ис-
ключает безопасность. Пока же приведем только основной аргумент. Пред-
ставьте себе компьютерную программу с 20 параметрами, каждый из которых
может быть включен либо выключен. Это предполагает наличие более мил-
лиона различных конфигураций программы. Чтобы убедиться в работоспо-
собности программы, достаточно протестировать лишь несколько наиболее
распространенных сочетаний значений параметров. А чтобы убедиться в ее
безопасности, необходимо оценить каждую из миллиона возможных конфи-
гураций и проверить устойчивость этих конфигураций к каждому из возмож-
ных видов атак. Это, конечно же, невозможно. Между тем количество пара-
метров большинства программ на несколько порядков превышает 20. Итак,
чтобы создать что-нибудь безопасное, необходимо сделать его простым.
Простая система не обязательно должна быть маленькой. Всегда мож-
но построить большую систему, которая при этом останется относительно
простой. Сложность измеряется количеством объектов, взаимодействующих
друг с другом в определенный момент времени. Если влияние параметра
ограничивается только небольшой частью приложения, он не будет взаимо-
действовать с другим параметром, влияние которого распространяется на
другую часть приложения. Чтобы построить большую и вместе с тем про-
стую систему, необходимо создать очень простой и понятный интерфейс меж-
ду различными частями системы. Программисты называют это разбивкой на
модули. Хороший простой интерфейс изолирует детали реализации модуля
от остальных частей системы. И это должно касаться всех параметров или
средств, реализованных в данном модуле.
Вообще-то можно было и не говорить о необходимости разбивки на мо-
дули. Все это прописные истины программной инженерии. К сожалению, их
слишком редко соблюдают в реальном мире.
В этой книге мы постарались определить простые интерфейсы для базо-
вых криптографических объектов. Никаких средств, никаких параметров,
никаких частных случаев, никаких примечаний или исключений, требую-
щих запоминания, — только самые простые определения из всех возможных.
Некоторые из этих определений новые, разработанные в процессе написания
книги. Они помогли нам оформить свои размышления о хороших системах
безопасности и, надеемся, помогут и вам.



Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   ...   203




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

    Басты бет