- •Введение
- •1 Теоретические сведения
- •Требования к ключевым данным
- •Варианты систем тестирования
- •1.3 Тесты по стандарту fips-140-3
- •1.3.1 Монобитный тест
- •Пусть число битов в проверяемой последовательности равно l, число единиц – , число нулей – n0 .В данном тесте вычисляется следующее значение: (1.1)
- •1.3.2 Блочный тест
- •1.3.3 Серийный тест
- •1.3.4 Покерный тест
-
Требования к ключевым данным
В современном мире существует большое количество различных методов шифрования информации, построенных по определенным математическим алгоритмам. Каждый из методов имеет параметр криптостойкости. Криптостойкость – это определенный уровень устойчивости системы к взлому. Она измеряется количеством времени, необходимым для взлома шифра. Таким образом, чем сложнее алгоритм шифрования и чем больше используется комбинаций из различных шифров, тем выше криптостойкость.
Методы шифрования в зависимости от используемых ключей разделяются на симметричное и ассиметричное шифрование. При использовании симметричного шифрования противнику может быть известен алгоритм шифрования, но неизвестен секретный ключ для расшифрования. При ассиметричном шифровании посторонним лицам могут быть известны алгоритм и открытый ключ, но закрытый ключ известен только получателю информации.
В современной криптографии используются ключи довольно большой длины, от 128 бит. Поэтому, одними из основных задач при шифровании информации являются скрытие ключа от противника и предотвращение потерь ключа, ведь в случае потери, расшифрование зашифрованной информации становится практически невозможным. Даже использование сверхновых комбинированных систем шифрования и идеальных каналов связи скрытие информации невозможно, если ключ становится известным противнику. На данный момент работа с ключами – самая сложная проблема надежности криптографических систем. Ключи должны быть защищены, по крайней мере, так же надежно, как и сама шифруемая информация.
Еще одним требованием к ключевым данным, определяющим устойчивость криптосистемы, является длина используемого ключа. Для того чтобы понять, как устойчивость криптосистемы зависит от длины ключа, рассмотрим несколько примеров.
Предположим, что алгоритм шифрования идеален и нет лучшего способа взлома криптосистемы, чем прямой перебор ключей (метод brute-force attack). Тогда, если мы работаем с ключом, длиной в 8 бит, то потребуется попыток взлома. Предположим, что длина ключа – 56 бит, то существует возможных ключей. Если предположить, что злоумышленник владеет вычислительной техникой, скорость перебора которой равна одному миллиону ключей в секунду, то потребуется две тысячи лет для нахождения правильного ключа. Если взять ключ длинной 128 бит, то потребуется лет для его нахождения, а это внушительная цифра, если учесть что возраст нашей Вселенной – приблизительно лет.
Таким образом, предположив, что brute-force attack является самой эффективной атакой против алгоритма, то ключ должен быть достаточно большим, чтобы сделать эту атаку вычислительно невозможной.
Другим параметром, который определяет возможность brute-force attack, является стоимость. Поэтому, можно ввести следующее определение длины ключа: длина ключа должна быть такой, чтобы вероятность взлома была не более 1 из 232 при наличии у противника 100 миллионов долларов, даже предполагая рост этих средств на 30% в год за данный период.
Ниже в таблице 1.1 для ознакомления приведены требования к шифрации различной информации. Чем важнее информация, тем жестче меры применяются для ее шифрования и защиты от несанкционированного доступа.
Таблица 1.1 – Требования к шифрации некоторой информации
Вид сообщений |
Жизненный интервал |
Минимальная длина ключа |
Тактическая военная информация |
Минуты/часы |
56 бит |
Сообщение о продуктах, слияниях компаний и т.д. |
Дни/недели |
56-64 бит |
Торговые секреты (рецепт Coca Cola) |
Декады |
64 бита |
Секреты водородной бомбы |
Больше 40 лет |
128 бит |
Дипломатические взаимоотношения |
Больше 65 лет |
Как минимум 128 бит |
Результаты переписи населения |
100 лет |
Как минимум 128 бит |
Можно проследить прямую зависимость длины ключа от важности информации, чем важнее информация – тем длиннее ключ используется для ее шифрования. Сложно даже предположить, что будет, если тайная информация, например секрет водородной бомбы, попадет в руки злоумышленников. Это может повлечь за собой непредвиденные последствия, вплоть до увеличения террористических актов с человеческими жертвами.
Подводя итог, можно сказать, что ключевые данные – одна из самых важных, в тоже время уязвимых частей процесса шифрования. Для достаточной надежности криптосистемы ключ должен быть достаточно длинным, и хранится так же надежно, как и сама шифруемая информация. Для большей надежности ключевые данные нужно хранить на сменном носителе. Также для успешной работы криптосистемы и ее устойчивости к различным видам атак в качестве ключа необходимо использовать псевдослучайную последовательность, которая максимально приближенная к случайной. Для проверки, насколько сгенерированная последовательность близка к случайной используют специальные тесты.