logo
Криптографическая защита информации

1.2. Управление секретными ключами

Порядок использования криптографической системы определяется системами установки и управления ключами.

Система установки ключей определяет алгоритмы и процедуры генерации, распределения, передачи и проверки ключей.

Система управления ключами определяет порядок ис­пользования, смены, хранения и архивирования, резервного копирования и восстановления, замены или изъятия из обра­щения скомпрометированных, а также уничтожения старых ключей.

Предварительное распределение ключей

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

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

Система предварительного распределения ключей долж­на быть устойчивой, то есть учитывать возможность раскрытия части ключей при компрометации, обмане или сговоре абонентов, и гибкой – допускать возможность быстрого восстановления путем исключения скомпрометированных и под­ключения новых абонентов.

Пересылка ключей

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

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

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

Открытое распределение ключей

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

В предложенной ими системе открытого распределения ключей каждая из сторон изначально имеет свой секретный параметр. Стороны реализуют определенный про­токол взаимодействия по открытому каналу связи. При этом они обмениваются некоторыми сообщениями (образованны­ми с помощью своих секретных параметров) и по результатам этого обмена вычисляют общий секретный связной ключ. В более поздних работах такие протоколы стали называть про­токолами выработки общего ключа, поскольку изначально ни одна из сторон не имеет ключа и как такового распределе­ния или пересылки ключей в нем не происходит.

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

Схема разделения секрета

Еще одной задачей современной криптографии, тесно связанной с проблемой распределения ключей и активно раз­вивающейся в последние годы, является задача построения схем разделения секрета. Для многих практически важных приложений, связанных с запуском или активизацией крити­ческих процессов или определяющих порядок получения дос­тупа к значимым данным, ответственное лицо должно ввести секретный ключ. Чтобы обезопасить процедуру принятия ре­шения и не отдавать все на волю одного человека, являюще­гося обладателем ключа, используют метод разделения сек­рета. Он состоит в назначении определенной группы лиц, ко­торая имеет право принимать решение. Каждый член группы владеет определенной долей секрета (точнее, специально вы­бранным набором данных), полная совокупность которых позволяет восстановить секретный ключ. При этом схема раз­деления секрета выбирается с таким условием, что для вос­становления секретного ключа требуется обязательное при­сутствие всех членов группы, так как в случае отсутствия хо­тя бы одного из участников объединение долей оставшихся членов группы гарантированно не позволяет получить ника­кой информации о секретном ключе. Таким образом, схема разделения секрета определяется двумя алгоритмами, удов­летворяющими сформулированному выше условию: первый алгоритм определяет порядок вычисления значений долей по сданному значению секретного ключа, а второй предназна­чен для восстановления значения секрета по известным долям.

Задачу построения схемы разделения секрета можно обобщить

– либо путем введения так называемой структуры дос­тупа, когда решение может приниматься не одной, а не­сколькими различными группами, причем часть из участни­ков может наделяться правом "вето",

– либо путем добавления механизмов, позволяющих обнаружить обман или сговор участников,

– либо введением специального протокола распределе­ния долей между участниками с подтверждением правильно­сти полученной информации и аутентификацией сторон.