Криптографические алгоритмы
МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ
Персональные компьютеры, системы и сети управления присутствуют во многих сферах человеческой деятельности: военной, коммерческой, банковской, научных исследованиях и др. При этом остро встает вопрос защиты информации от посторонних лиц, ее утраты или искажения.
Понятие компьютерной (информационной) безопасности включает следующие аспекты: конфиденциальность информации, аутентификацию и целостность, т.е. сохранность и защиту информации от несанкционированных изменений, сохранение тайны переписки в электронной связи, а также надежность работы компьютера.
Под угрозой безопасности информации понимается действие или событие, которое может привести к разрушению, искажению или несанкционированному использованию информационных ресурсов.
Классификация угроз может быть проведена по ряду признаков:
– по природе возникновения (объективные и субъективные);
– по степени преднамеренности (ошибки пользователя или персонала, несанкционированный доступ, вскрытие шифров, хищение носителей информации);
– по степени воздействия на информационную систему ИС (пассивные – несанкционированный сбор данных, активные – внедрение программных закладок и вирусов);
– по способу доступа к ресурсам ИС (получение паролей и прав доступа в результате халатности персонала, обход средств защиты, использование недокументированных возможностей системы).
Для решения проблемы защиты информации используют комплекс мероприятий, который включает:
– законодательные средства (правовые документы);
– организационные мероприятия (создание службы безопасности предприятия, ограничение доступа к информации);
– технические средства (защита от несанкционированного доступа или администрирование, шифрование, аутентификация (подтверждение подлинности), антивирусная защита, резервное копирование (архивирование); дублирование данных на автономных носителях.
Законодательные средства защиты определяются законодательными актами страны. Эти акты регламентируют правила пользования, обработки и передачи информации ограниченного доступа и устанавливаются меры ответственности за нарушение этих правил.
Наиболее общим законом Российской Федерации является Конституция. Главы 41, 42 и статьи 23, 29 Конституции затрагивают вопросы информационной безопасности.
Статья 23 Конституции гарантирует право на личную и семейную тайну, на тайну переписки, телефонных разговоров, почтовых и иных сообщений.
Статья 29 Конституции гарантирует право свободно искать, получать, передавать и распространять информацию любым законным способом.
Главы 41 и 42 гарантируют право на знание фактов, создающих угрозу жизни и здоровью людей, право на знание достоверной информации о состоянии окружающей среды.
Уголовный кодекс (УК) Российской Федерации предусматривает наказания за преступления, связанные с нарушением конфиденциальности информации. Глава 28 УК (статьи 272-274) посвящены преступлениям, связанным с неправомерным доступом к компьютерной информации, созданием и распространением вредоносных программ.
Интересы государства в плане обеспечения конфиденциальности информации представлены в Законе «О государственной тайне».
Государственная тайна – это защищаемые государством сведения в области военной, внешнеполитической, экономической, разведывательной, контрразведывательной и оперативно-розыскной деятельности, распространение которых может нанести ущерб Российской Федерации.
Для защиты сведений, составляющих государственную тайну, Закон определяет средства защиты: технические (аппаратные), криптографические, программные и другие средства. Система органов обеспечения информационной безопасности РФ включает министерство обороны и министерство юстиции.
Организационные методы защиты:
– организация охраны и надежного пропускного режима;
– организация контроля за работой пользователей;
– мероприятия, осуществляемые при подборе и подготовке персонала;
– мероприятия по применению правил доступа к информации;
– организация учета, хранения, использования, уничтожения документов и носителей информации;
– мероприятия по разработке и модификации технических средств.
Технические (аппаратные) методы реализуются устройствами, которые встраиваются непосредственно в вычислительную технику, или устройства, которые сопрягаются с ней по стандартному интерфейсу.
Программные средства — это специальные программы и программные комплексы, предназначенные для защиты информации. Из специальных программ защиты можно выделить программные средства, реализующие механизмы шифрования (криптографии).
Криптография — это наука об обеспечении секретности (методами шифрования) и/или аутентичности (подлинности) передаваемых сообщений.
Криптографические методы являются наиболее эффективными средствами защиты информации в компьютерных системах. Показателями надежности криптографического закрытия информации являются его криптостойкость и достаточность защиты.
Криптостойкость – минимальный объем информации, который можно вскрыть в результате анализа.
Принцип достаточности защиты предполагает, что затраты на вскрытие информации должны превышать ее ценность.
Для шифрования текста применяют криптографические методы (алгоритмы), называемые шифром. Наиболее простыми методами шифрования являются методы подстановки замена символов шифруемого сообщения другими буквами того же или другого алфавита.
Более криптостойкие методы основаны на использовании ключа. Криптографический ключ – некоторая секретная последовательность символов или битов. Методы, использующие для шифрования и обратного чтения сообщения один и тот же ключ, называются симметричными. Недостаток – необходимость передачи по защищенным каналам ключа для прочтения сообщения.
В настоящее время используют несимметричные криптографические системы, основанные на использовании двух ключей: открытого (public) и закрытого (private). Открытый и закрытый ключи создаются одновременно и являются половинками одного ключа.
Принцип несимметричной системы заключается в том, что открытый ключ доступен всем и шифрование сообщения производится с его помощью. Зашифрованное сообщение можно прочесть только при использовании закрытого ключа, который находится у получателя сообщения.
При обмене электронными документами важным является установление авторства и подлинности документа. Решение этих задач возлагается на электронную цифровую подпись.
Электронная подпись реализуется использованием открытого и закрытого ключей (метод создания описан выше). Документ кодируется отправителем с помощью личного закрытого ключа, а расшифровать его возможно только открытым ключом.
Криптографические алгоритмы
Существуют два принципиально различающихся подхода к построению шифров с секретным ключом, соответственно им можно выделить два типа шифров - блочные и потоковые шифры:
1. В блочных шифрах результат шифрования очередного блока зависит только от него самого и не зависит от других блоков шифруемого массива данных:
Из этого следует, что в результате шифрования двух одинаковых блоков открытого текста всегда получаются идентичные блоки шифротекста.
2. В поточных или потоковых шифрах результат зашифрования очередного блока зависит от него самого и, в общем случае, от всех предыдущих блоков массива данных:
Сюда же относится важный частный случай, когда результат зашифрования очередного блока зависит этого блока и от его номера.
Каким же условиям должен удовлетворять стойкий блочный шифр? Эти условия сформулировал К. Шеннон в ряде своих основополагающих работ по теории шифрования: такой шифр должен обладать свойствами перемешивания и рассеивания:
– рассеивание: это свойство шифра, при котором один символ (бит) исходного текста влияет на несколько символов (битов) шифротекста, оптимально - на все символы в пределах одного блока. Если данное условие выполняется, то при шифровании двух блоков данных с минимальными отличиями между ними должны получаться совершенно непохожие друг на друга блоки шифротекста. Точно такая же картина должна иметь место и для зависимости шифротекста от ключа - один символ (бит) ключа должен влиять на несколько символов (битов) шифротекста.
– перемешивание: это свойство шифра скрывать зависимости между символами исходного текста и шифротекста. Если шифр достаточно хорошо «перемешивает» биты исходного текста, то соответствующий шифротекст не содержит никаких статистических, и, тем более, функциональных закономерностей - опять же, для стороннего наблюдателя, обладающего лишь ограниченными вычислительными ресурсами.
Алгоритмы шифрования
1. Симметричные (с секретным, единым ключом, одноключевые, single-key).
1.1. Потоковые (шифрование потока данных):
– с одноразовым или бесконечным ключом (infinite-key cipher);
– с конечным ключом (система Вернама - Vernam);
– на основе генератора псевдослучайных чисел (ПСЧ).
1.2. Блочные (шифрование данных поблочно):
1.2.1. Шифры перестановки (permutation, P-блоки);
1.2.2. Шифры замены (подстановки, substitution, S-блоки):
– моноалфавитные (код Цезаря);
– полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma);
1.2.3. составные:
– Lucipher (фирма IBM, США);
– DES (Data Encryption Standard, США). Алгоритм блочного шифрования с перестановками и сложением по модулю два с ключом. Низкая криптостойкость допускает декодирование при криптоаналитическом исследовании.
– FEAL-1 (Fast Enciphering Algoritm, Япония). Предназначен для использования в факсах, модемах и телефонах.
– IDEA/IPES (International Data Encryption Algorithm). Алгоритм блочного шифрования. Применяются 52 субключа. Применяется операция умножения по модулю 216+1. Алгоритм криптоустойчив.
– ГОСТ 28147-89 (СССР). В 1993 г. в России изданы государственные стандарты под общим заголовком «Информационная технология. Криптографическая защита информации» («Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма»).
2. Асимметричные (с открытым ключом, public-key):
– Диффи-Хеллман DH (Diffie, Hellman);
– Райвест-Шамир-Адлeман RSA (Rivest, Shamir, Adleman);
В 1978 г. Рон Ривест (R. Rivest), Ади Шамир (A. Samir) и Леонард Адлеман (L. Adleman) создали первую криптосистему с открытым ключом для шифрования текста и цифровой подписи. Надежность обусловлена неразрешимостью задачи разложения большого натурального числа на простые множители. Современное методы позволяют решать эту задачу для чисел длиной только до 430 бит (поэтому ключ длиной в 512 бит считается надежным для защиты данных на срок до 10 лет, длиной в 1024 бита - безусловно надежным). Алгоритм RSA используется в банковских компьютерных сетях (обслуживание кредитных карточек).
– Эль-Гамаль ElGamal.
Данная система является альтернативой RSA и при равном значении ключа обеспечивает такую же криптостойкость. Метод Эль-Гамаля (El Gamal) основан на вычислении дискретного логарифма, при этом возводить число в степень легко, а восстановить аргумент по значению (то есть найти логарифм) трудно.