Генерация ключей

Разрядность ключа

Управление ключами

 

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

· ключи для шифрования ключейи

· ключи для шифрования данных.

По времени жизни ключи делятся на

· долговременные и

· кратковременные.

Примером последних являются так называемые сеансовые ключи, действующие в течение только одного сеанса связи. В понятие «управление ключами» входит совокупность методов решения следующих задач:

· генерация ключей;

· распределение ключей;

· хранение ключей;

· замена ключей;

· депонирование ключей;

· уничтожение ключей.

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

 

 

К ключам для симметричных и асимметричных криптосистем предъявляются различные требования. Этот факт следует учитывать при построении гибридных криптосистем. В настоящее время надежными считаются ключи разрядностью не менее 80 бит для систем с секретным ключом и не менее 768 бит для систем с открытым ключом, стойкость которых определяется сложностью решения задачи факторизации больших чисел (например, RSA).

В распоряжении противника, атакующего криптосистему, всегда имеются две возможности:

· случайное угадывание ключа и

· полный перебор по всему ключевому пространству.

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

Таблица 1. Длины ключей для криптосистем с секретным и открытым ключами

Длина ключа, бит

Криптосистема с секретным ключом Криптосистема с открытым ключом

Примечание. На практике в гибридных криптосистемах долговременный ключ для асимметричного алгоритма выбирают более стойким, чем сеансовый ключ для симметричного.

 

Согласно принципу Кирхгофа стойкость криптоалгоритма определяется секретностью ключа. Это означает, что если для генерации ключей используется криптографически слабый алгоритм, независимо от используемого шифра вся система будет не стойкой. Качественный ключ, предназначенный для использования в рамках симметричной криптосистемы, представляет собой случайный двоичный набор. Если требуется ключ разрядностью n, в процессе его генерации с одинаковой вероятностью должен получаться любой из 2n возможных кодов.

Генерация ключей для асимметричных криптосистем - процедура более сложная, так как ключи, применяемые в таких системах, должны обладать определенными математическими свойствами. Например, в случае системы RSA модуль шифрования есть произведение двух больших простых чисел.

 

Для генерации ключевой информации, предназначенной для использования в рамках симметричной криптосистемы, используются следующие методы (в порядке возрастания качества):

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

· программная генерация, основанная на моделировании качественного генератора ПСП с равномерным законом распределения;

· аппаратная генерация с использованием качественного генератора ПСП;

· аппаратная генерация с использованием генераторов случайных последовательностей, построенных на основе физических генераторов шума и качественных генераторов ПСП.

 

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