Глава 25. Привлечение экспертов
Так для чего же мы написали эту книгу, если она приводит к появлению
плохих систем? Мы написали ее потому, что люди, которые хотят научиться
разрабатывать криптографические системы, должны где-то этому учиться,
а других подходящих книг мы не знаем. Рассматривайте данную книгу как
введение в разработку криптографических систем, хотя она и не является
руководством или учебником. Мы также написали ее для других специали-
стов, участвующих в разработке системы. Каждая часть системы безопас-
ности играет критически важную роль, и все, кто работает над проектом,
должны обладать базовым пониманием проблем безопасности и методов ее
обеспечения. К числу этих людей относятся программисты, тестировщики,
составители документации, руководство и даже персонал из отдела продаж.
Каждый сотрудник должен иметь достаточное понимание проблем безопас-
ности, чтобы правильно выполнять свою работу. Мы надеемся, что данная
книга снабдит вас адекватной информацией о практической стороне крипто-
графии.
Если вы не против получить хоть какой-нибудь дельный совет, вот он: по
мере возможности всегда привлекайте к сотрудничеству экспертов в области
криптографии. Если в проекте каким-либо образом задействован криптогра-
фический аппарат, вам не обойтись без опытного разработчика криптогра-
фических систем. Подключите его к работе в самом начале проекта. Чем
раньше вы проконсультируетесь с экспертом в области криптографии, тем
легче и дешевле обойдется разработка проекта. Довольно часто нас звали
взглянуть на проект только затем, чтобы заткнуть “дыры” в частях систе-
мы, которые уже давно были спроектированы или реализованы. Конечный
результат всегда обходился слишком дорого — либо в терминах затраченных
усилий, срока сдачи проекта и денежных средств, либо в терминах безопас-
ности пользователя конечного продукта.
Создать правильную криптографическую систему невероятно сложно. Да-
же системы, разработанные экспертами, время от времени дают сбой. Неваж-
но, насколько вы умны или какой опыт работы имеете в других областях.
Проектирование и реализация криптографических систем требуют наличия
специальных знаний и опыта, а единственный способ набраться опыта — раз-
рабатывать системы снова и снова. Однако этот процесс никогда не обходится
без ошибок. Так для чего же нужен эксперт, если он тоже делает ошибки?
По той же причине, по которой мы отдаем свою жизнь в руки квалифициро-
ванного хирурга. Нельзя сказать, что хирурги вообще не допускают ошибок;
просто они их делают намного реже, да и сами ошибки гораздо менее серьез-
ны. Кроме того, хирурги придерживаются консервативных правил, поэтому
небольшие ошибки не приводят к катастрофическим последствиям; хирурги
знают достаточно для того, чтобы ошибка оказалась безобидной.
405
Реализация криптографических систем — это практически такой же спе-
циализированный вид деятельности, как и их проектирование. Найти проек-
тировщиков криптографических систем не так уж сложно. Найти программи-
стов, занимающихся реализацией криптографических систем, намного труд-
нее, отчасти потому, что их требуется гораздо больше. Один проектиров-
щик может создать работу для 10–20 программистов. Большинство людей
не рассматривают реализацию криптографических систем как специализиро-
ванный вид деятельности. Один и тот же программист может перейти от на-
писания баз данных к написанию графического интерфейса, а затем заняться
реализацией криптографических систем. Разумеется, написание баз данных
и графического интерфейса — тоже специализированные виды деятельности,
однако опытный программист, немного подучившись, может вполне успешно
заниматься и тем и другим. Это не касается реализации криптографических
систем, где
все
должно быть сделано правильно.
Лучший из известных нам способов реализации криптографических си-
стем — нанять компетентных программистов и натренировать их для выпол-
нения данной задачи. Одной из составляющих тренинга может стать и на-
ша книга, однако в большинстве своем написание криптографических систем
требует опыта и правильного отношения к проблеме. Кроме того, на овла-
дение написанием криптографических систем, как и любым другим специ-
альным навыком, уходят годы. Учитывая, сколько времени требуется для
приобретения данного опыта, вы должны уметь удержать подготовленных
вами специалистов. Это еще одна проблема, решение которой мы с радостью
перекладываем на других членов нашего общества.
Вероятно, даже более важную роль, чем эта или любая другая книга, иг-
рает культура ведения проекта. Фраза “безопасность в первую очередь” не
должна оставаться просто девизом; она должна быть вплетена в саму мате-
рию проекта и его разработчиков. Каждый участник проекта должен посто-
янно жить с безопасностью, дышать безопасностью, говорить и думать о без-
опасности. Достичь этого невероятно трудно, но все-таки возможно. Подоб-
ная команда сотрудников была у компании DigiCash в 1990-х годах. Анало-
гичная культура всеобъемлющей безопасности характерна для авиационной
промышленности. Разумеется, культуры безопасности нельзя достичь в ко-
роткий срок, однако к этому нужно стремиться. Наша книга — это всего лишь
начальное пособие по наиболее важным проблемам безопасности, предназна-
ченное для технических специалистов команды разработчиков.
В книге
Secrets and Lies
[88] Брюс написал следующее: “Безопасность —
это процесс, а не продукт”. Помимо культуры безопасности, нам нужен еще
и процесс безопасности. Авиационная промышленность обладает всесторон-
ним, строго отлаженным процессом контроля безопасности. Большинство
производителей программных продуктов не имеют даже устоявшегося про-
406
Достарыңызбен бөлісу: |