Глава 18. Серверы ключей
18.3.4
Другие свойства
Возможно, реализация нашего решения ничуть не проще, чем Kerberos,
однако его концепция более проста. Наличие безопасного канала общения на-
много облегчает наблюдение за возможными путями атак на протокол. Ис-
пользование уже созданных нами протокола согласования ключей и безопас-
ного канала общения является хорошим примером того, как модуляризация
может пригодиться при разработке криптографических протоколов.
Использование протокола согласования ключей для установки безопасно-
го канала общения имеет еще одно преимущество — обеспечивает прямую
безопасность. Даже если ключ
K A пользователя А будет взломан, это не
повлияет на предыдущие ключи безопасного канала общения
K 0 A , а значит,
все прежние сообщения, которыми пользователь А обменивался с другими
участниками, останутся в безопасности.
В предыдущих частях книги приведены подробные примеры реализации
рассматриваемых криптографических функций. Больше мы этого делать не
будем, поскольку криптографическая часть системы управления ключами
довольно проста. Разумеется, мы могли привести пример реализации сервера
ключей, однако он бы вряд ли кому-нибудь пригодился. Разработка систем
управления ключами в большей степени касается сбора требований к кон-
кретному приложению и доведения до ума пользовательского интерфейса,
чем криптографии как таковой. Чтобы объяснить методы реализации систе-
мы управления ключами на конкретном примере, нам потребовалось бы со-
здать и задокументировать полную социальную и организационную структу-
ру окружения, модель угроз, а также приложение, которому требуется систе-
ма управления ключами. Это подошло бы, скорее, для научной фантастики,
нежели для книги о практической криптографии.
18.4
Что выбрать
Если вы хотите реализовать централизованный сервер ключей, старайтесь
по возможности применять Kerberos. Эта система имеет широкое распростра-
нение и уже долгие годы успешно применяется на практике.
Там, где использовать Kerberos невозможно, придется разработать и ре-
ализовать нечто наподобие решения, описанного в данной главе. Обратите,
однако, внимание на то, что выполнение данной операции отнюдь не так три-
виально, как кажется. В наиболее распространенных типах криптографиче-
ских приложений разработка сервера ключей занимает практически столько
же времени, сколько разработка всей оставшейся части приложения.