Требования к криптографическим системам
Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, простота, защищенность и т.д. Программная реализация более практична, допускает известную гибкость в использовании. Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования.
1. Знание алгоритма шифрования не должно снижать криптостойкости шифра. Это фундаментальное требование было сформулировано в XIX в. Кирхгофом и разделяет криптосистемы на системы общего использования (когда алгоритм доступен потенциальному нарушителю) и ограниченного использования (когда алгоритм держится в секрете). Безусловно, все массово используемые криптосистемы должны отвечать этому требованию. Взлом шифров в системе сотовой связи GSM или защите дисков DVD от незаконного воспроизведения – наглядные примеры последствий, к которым может привести несоблюдение этого требования.
2. Зашифрованное сообщение должно поддаваться чтению только при наличии ключа. Используемое в программе MS Word 6.0 “шифрование” документа на самом деле только запрещало его открытие в данной программе. Сам же текст не шифровался и был доступен для чтения в любом текстовом редакторе.
3. Шифр должен быть стойким даже в случае, если нарушителю известно достаточно большое количество исходных данных и соответствующих им зашифрованных данных.
4. Число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей, должно иметь строгую нижнюю оценку и должно либо выходить за пределы возможностей современных компьютеров (с учетом возможности организации сетевых вычислений), либо требовать создания использования дорогих вычислительных систем.
5. Незначительное изменение ключа или исходного текста должно приводить к существенному изменению вида зашифрованного текста. Этому требованию не соответствуют практически все шифры донаучной криптографии.
6. Структурные элементы алгоритма шифрования должны быть неизменными.
7. Длина шифрованного текста должна быть равной длине исходного текста.
8. Дополнительные биты, вводимые в сообщение в процессе шифрования, должны быть полностью и надежно скрыты в шифрованном тексте.
9. Не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемыми в процессе шифрования.
10. Любой ключ из множества возможных должен обеспечивать надежную защиту информации.
Главным действующим лицом в криптоанализе выступает нарушитель (или криптоаналитик) – лицо или группа лиц, целью которых является прочтение или подделка защищенных криптографическими методами сообщений.
В отношении нарушителя принимается ряд допущений, которые, как правило, лежат в основе математических или иных моделей.
Нарушитель знает алгоритм шифрования (или электронную цифровую подпись (ЭЦП)) и особенности его реализации в конкретном случае, но не знает ключа.
Нарушителю доступны все зашифрованные тексты. Нарушитель может иметь доступ к некоторым исходным текстам, для которых известен соответствующий им зашифрованный текст.
Нарушитель имеет в своем распоряжении вычислительные, людские, временные и иные ресурсы, объем которых оправдывает потенциальную ценность информации, которая будет добыта в результате криптоанализа.
При анализе криптостойкости шифра необходимо учитывать и человеческий фактор, например, подкуп конкретного человека, в руках которого сосредоточена необходимая информация, может стоить на несколько порядков дешевле, чем создание суперкомпьютера для взлома шифра.
Попытка прочтения или подделки зашифрованного сообщения, вычисления ключа методами криптоанализа называется криптоатакой, или атакой на шифр. Удачную криптоатаку называют взломом.
Принято различать несколько уровней криптоатаки в зависимости от объема информации, доступной криптоаналитику. По нарастанию сложности можно выделить три уровня криптоатаки.
Атака на шифрованный текст (уровень КА1) – нарушителю доступны все или некоторые зашифрованные сообщения.
Атака на пару “исходный текст – шифрованный текст” (уровень КА2) – нарушителю доступны все или некоторые зашифрованные сообщения и соответствующие им исходные сообщения.
Атака на выбранную пару “исходный текст – шифрованный текст” (уровень КА3) – нарушитель имеет возможность выбирать исходный текст, получать для него шифрованный текст и на основе анализа зависимостей между ними вычислять ключ.
Все современные криптосистемы обладают достаточной стойкостью даже к атакам уровня КА3, т.е. когда нарушителю доступно, по сути, шифрующее устройство.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к расшифрованию без знания ключа (т.е. криптоатаке). Показатель криптостойкости – главный параметр любой криптосистемы. В качестве показателя криптостойкости можно выбрать:
количество всех возможных ключей или вероятность подбора ключа за заданное время с заданными ресурсами;
количество операций или время (с заданными ресурсами), необходимое для взлома шифра с заданной вероятностью;
стоимость вычисления ключевой информации или исходного текста.
Все эти показатели должны учитывать также уровень возможной криптоатаки.
Однако следует понимать, что эффективность защиты информации криптографическими методами зависит не только от криптостойкости шифра, но и от множества других факторов, включая вопросы реализации криптосистем в виде устройств или программ.