Безопасность криптосистем
Безопасность криптосистем можно сравнить с надежностью цепи: чем крепче ее самое слабое звено, тем труднее порвать эту цепь. В хорошей криптосистеме должно быть досконально проверено все – алгоритм, протокол, ключи и т. п. Если криптографический алгоритм достаточно стоек, а генератор случайных чисел, используемый для порождения ключей, никуда не годится, любой опытный криптоаналитик в первую очередь обратит внимание именно на него. Если удастся улучшить генератор, но не будут зачищены ячейки памяти компьютера после того, как в них побывал сгенерированный ключ, грош цена такой безопасности.
Рассмотрим следующую ситуацию. В криптосистеме применяются стойкий криптографический алгоритм и действительно случайные ключи, которые аккуратно удаляются из памяти компьютера после их использования. Однако перед шифрованием файл, в котором наряду с вашим адресом и фамилией указаны все ваши доходы за текущий год, был по ошибке отправлен электронной почтой в налоговую службу. В этом случае можно спросить, зачем тогда вам понадобились и стойкий алгоритм, и случайные ключи, и зачистка компьютерной памяти в придачу?!
Криптографу не позавидуешь: в проектируемой им криптосистеме он должен предусмотреть защиту от атак всех типов, какие только сможет придумать воспаленное воображение криптоаналитика. Криптоаналитику же наоборот достаточно отыскать единственное слабое звено в цепи криптографической защиты и организовать атаку только против этого звена.
Кроме этого, всегда следует учитывать, что на практике угроза информационной безопасности любого объекта исходит не только от криптоаналитика. В конце концов, каким бы длинным ни был криптографический ключ, используемый вами для шифрования файлов, все равно, если правоохранительным органам понадобится узнать, что хранится в вашем компьютере, они просто установят камеру и скрупулезно запишут всю информацию, появляющуюся на его экране. Недаром, по признанию официальных лиц из АНБ, большинство сбоев в обеспечении информационной безопасности происходит не из-за найденных слабостей в криптографических алгоритмах и протоколах, а из-за вопиющих оплошностей при их реализации.
Какой бы стойкостью ни обладал криптографический алгоритм, ее не требуется преодолевать в лоб, т. к. при успешной атаке ее удается попросту обойти. Однако и пренебрегать хорошими криптографическими алгоритмами тоже не следует, чтобы криптография не стала самым слабым звеном в цепи, которое не выдержит напора атакующего.