П.Н. Афонин. «Информационные таможенные технологии»
В современной криптографии существуют два типа криптографических алгоритмов:
1) классические алгоритмы, основанные на использовании закрытых, секретных ключей (симметричные);
2) алгоритмы с открытым ключом, в которых используются один открытый и один закрытый ключ (асимметричные). В настоящее время находят широкое практическое применение в средствах защиты электронной информации алгоритмы с секретным ключом.
8.3. МЕТОДЫ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ТАМОЖЕННОЙ ИНФОРМАЦИИ
8.3.1. Симметричное шифрование
Симметричное шифрование, применяемое в классической криптографии, предполагает использование всего лишь одной секретной единицы — ключа, который позволяет отправителю зашифровать сообщение, а получателю расшифровать его. В случае шифрования данных, хранимых на магнитных или иных носителях информации, ключ позволяет зашифровать информацию при записи на носитель и расшифровать при чтении с него. Стойкость хорошей шифровальной системы определяется лишь секретностью ключа.
Все многообразие существующих криптографических методов сводят к следующим классам преобразований.
Моно- и многоалфавитные подстановки — наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. Для обеспечения высокой криптостойкости требуется использование больших ключей.
Перестановки — несложный метод криптографического преобразования, используемый, как правило, в сочетании с другими методами.
Гаммирование — метод, который заключается в наложении на открытые данные некоторой псевдослучайной последовательности, генерируемой на основе ключа.
Блочные шифры — представляют собой последовательность (с возможным повторением и чередованием) основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем чистые преобразования того или иного класса, в силу их более высокой криптостойкости. Российский и американский стандарты шифрования основаны именно на этом классе шифров.
Метод гаммирования достаточно легко реализуем и заключается в генерации гаммы шифра с помощью генератора псевдослучайных чисел при определенном ключе и наложении полученной гаммы на открытые данные обратимым способом. Под гаммой шифра понимается псевдослучайная двоичная последовательность, вырабатываемая по заданному алгоритму, для шифрования открытых данных и расшифровывания зашифрованных данных.
Для генерации гаммы применяют программы для ЭВМ, которые называются генераторами случайных чисел. При этом требуется, чтобы, даже зная закон формирования, но не зная ключа в виде начальных условий, никто не смог бы отличить числовой ряд от случайного.
Известны три основных требования к криптографически стойкому генератору псевдослучайной последовательности или гамме:
1) период гаммы должен быть достаточно большим для шифрования сообщений различной длины;
2) гамма должна быть труднопредсказуемой. Это значит, что если известны тип генератора и некоторая часть гаммы, то невозможно предсказать следующий за этой частью бит гаммы с вероятностью выше x. Тогда, если криптоаналитику станет известна какая-то часть гаммы, он все же не сможет определить биты, предшествующие ей или следующие за ней;
3) генерирование гаммы не должно быть связано с большими техническими и организационными трудностями.
Таким образом, стойкость шифрования с помощью генератора псевдослучайных чисел зависит как от характеристик генератора, так и, причем в большей степени, от алгоритма получения гаммы.
Процесс расшифровывания данных сводится к повторной генерации гаммы шифра при известном ключе и наложению такой гаммы на зашифрованные данные. Этот метод криптографической защиты реализуется достаточно легко и обеспечивает довольно высокую скорость шифрования, однако недостаточно стоек к дешифрованию и поэтому неприменим для серьезных информационных систем.
Среди других известных алгоритмов криптографической защиты информации можно назвать алгоритмы DES, Rainbow (США); FEAL-4 и FEAL-8 (Япония); B-Crypt (Великобритания); алгоритм шифрования по ГОСТ 28147—89 (Россия) и ряд других, реализованных зарубежными и отечественными поставщиками программных и аппаратных средств защиты. Рассмотрим некоторые из них, наиболее широко применяемые в зарубежной и отечественной практике.
Алгоритм, изложенный в стандарте DES (Data Encryption Standard), принят в качестве федерального стандарта в 1977 г., наиболее распространен и широко применяется для шифрования данных в США. Этот алгоритм был разработан фирмой IBM для собственных целей. Однако после проверки Агентством Национальной Безопасности (АНБ) США он был рекомендован к применению в качестве федерального стандарта шифрования. Этот стандарт используется многими негосударственными финансовыми институтами, в том числе банками и службами обращения денег. Алгоритм DES не является закрытым и был опубликован для широкого ознакомления, что позволяет пользователям свободно применять его для своих целей.
При шифровании применяется 64-разрядный ключ. Для шифрования используются только 56 разрядов ключа, а остальные восемь разрядов являются контрольными. Алгоритм DES достаточно надежен. Он обладает большой гибкостью при реализации различных приложений обработки данных, так как каждый блок данных шифруется независимо от других. Это позволяет расшифровывать отдельные блоки зашифрованных сообщений или структуры данных, а следовательно, открывает возможность независимой передачи блоков данных или произвольного доступа к зашифрованным данным. Алгоритм может реализовываться как программным, так и аппаратным способом. Существенный недостаток этого алгоритма — малая длина ключа.
Алгоритм шифрования, определяемый российским стандартом ГОСТ 28.147—89 «Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования», является единым алгоритмом криптографической защиты данных для крупных информационных систем, локальных вычислительных сетей и автономных компьютеров. Этот алгоритм может реализовываться как аппаратным, так и программным способом, удовлетворяет всем криптографическим требованиям, сложившимся в мировой практике, и, как следствие, позволяет осуществлять криптографическую защиту любой информации независимо от степени ее секретности.
В алгоритме ГОСТ 28.147—89 в отличие от алгоритма DES используется 256-разрядный ключ, представляемый в виде восьми 32-разрядных чисел. Расшифровываются данные с помощью того же ключа, посредством которого они были зашифрованы. Алгоритм ГОСТ 28.147—89 полностью удовлетворяет всем требованиям криптографии и обладает теми же достоинствами, что и другие алгоритмы (например, DES), но лишен их недостатков. Он позволяет обнаруживать как случайные, так и умышленные модификации зашифрованной информации. Крупный недостаток этого алгоритма — большая сложность его программной реализации и низкая скорость работы.
Из алгоритмов шифрования, разработанных в последнее время, большой интерес представляет алгоритм RC6 фирмы RSA Data Security. Этот алгоритм обладает следующими свойствами:
• адаптивностью для аппаратных средств и программного обеспечения, что означает использование в нем только примитивных вычислительных операций, обычно присутствующих на типичных микропроцессорах;
• быстротой, т. е. в базисных вычислительных операциях операторы работают на полных словах данных;
• адаптивностью на процессоры различных длин слова. Число w бит в слове — параметр алгоритма;
• наличием параметра, отвечающего за «степень перемешивания», т. е. число раундов (итераций до 255). Пользователь может явно выбирать между более высоким быстродействием и более высоким перемешиванием;
• низким требованием к памяти, что позволяет реализовывать алгоритм на устройствах с ограниченной памятью;
• использованием циклических сдвигов, зависимых от данных, с переменным числом;
• простотой и легкостью выполнения.
8.3.2. Методы асимметричного шифрования
Методы асимметричного шифрования предполагают шифрование при наличии двух ключей — секретного и публичного (открытого). Особенность таких методов заключается в одностороннем характере применения ключей. Например, зная ключ шифрования, можно зашифровать сообщение, но с помощью этого же ключа расшифровать его обратно невозможно.
Математическая теория асимметричного шифрования основана на применении однонаправленных функций, по результатам вычисления которых определить аргументы практически невозможно. Например, невозможно определить, каким способом было получено число 16 — перемножением 1×16, 2×8, 4×4, 4×2×2, и т. п.
8.4. ЭЛЕКТРОННАЯ ЦИФРОВАЯ ПОДПИСЬ: АЛГОРИТМЫ, ОТКРЫТЫЙ И СЕКРЕТНЫЙ КЛЮЧИ, СЕРТИФИКАТЫ
Закон «Об электронной цифровой подписи» определяет, что «электронная цифровая подпись — реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, с использованием закрытого ключа электронной цифровой подписи, и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствии искажения в электронном документе». Из этого определения видно, что электронная цифровая подпись (ЭЦП) формируется при помощи специальных математических алгоритмов на основе собственно документа и некого «закрытого ключа», позволяющего однозначно идентифицировать отправителя сообщения. Рассмотрим подробней механизм функционирования систем ЭЦП.
8.4.1. Открытый и закрытый ключи в электронной цифровой подписи
Электронная цифровая подпись функционирует на основе криптоалгоритмов с асимметричными (открытыми) ключами и инфраструктуры открытых ключей. В криптосистемах на основе асимметричных ключей для шифрования и дешифрования используется пара ключей — секретный и публичный ключи, уникальные для каждого пользователя, и цифровой сертификат.
Основные термины, применяемые при работе с ЭЦП: закрытый ключ — это некоторая информация, обычно длиной 256 бит, хранится в недоступном другим лицам месте на дискете, смарт-карте, touch memory. Работает закрытый ключ только в паре с открытым ключом.
<< [1] ... [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] >>
|