Что значит длина ключа шифрования. Выбор длины криптографического ключа. Основные способы использования алгоритмов с открытым ключом

Основной целью применения SSL сертификатов является шифрование данных, передаваемых на сервер от клиента и клиенту от сервера. Для обеспечения безопасности такого соединения современные браузеры используют алгоритм TLS, основанный на сертификатах формата X.509. Данный алгоритм применяет ассиметричное шифрование, чтобы создать ключ сессии для симмертичного шифрования. Последнее используется непосредственно для передачи данных после установления защищенного соединения.

Что такое ключ в криптографии?

Ключ в криптографии представляет собой секретную информацию, которая применяется в криптографии для шифрования и декодирования сообщений, для простановки цифровой подписи и ее проверки, для вычисления кодов аутентичности сообщений и прочее. Насколько ключ надежен определяется так называемой длиной ключа, которая измеряется в битах. Стандартной длиной ключа для SSL сертификатов считается 128 или 256 бит. Длина ключа сертификата корневого центра сертификации (root certificate) не должна быть ниже 4096 бит. Все центры сертификации, с которыми мы сотрудничаем, предоставляют SSL сертификаты с ключом, полностью соответствующим современным стандартам:

Открытый и закрытый ключ в ассиметричном шифровании

В ассиметричном шифровании применяется пара ключей : открытый (Public key) и закрытый , также называемый секретным (Private key ). Открытый и закрытый ключи в данном случае позволяют криптографическому алгоритму шифровать и дешифровать сообщение. При этом сообщения, зашифрованные открытым ключом, расшифровать можно только с помощью закрытого ключа. Открытый ключ публикуется в сертификате владельца и доступен подключившемуся клиенту, а закрытый – хранится у владельца сертификата. Открытый и закрытый ключ между собой связаны математическими зависимостями, поэтому подобрать открытый или закрытый ключ невозможно за короткое время (срок действия сертификата). Именно поэтому максимальный срок действия SSL сертификатов более высого уровня защиты всегда ниже. Так, можно заказать максимум на 2 года. При этом заказывая новый SSL сертификат или продлевая старый, важно генерировать новый CSR запрос, так как к нему привязывается Ваш закрытый ключ и при выпуске нового SSL сертификата лучше его обновлять. Взаимодействие клиента с сервером происходит следующим образом:
  1. браузер на основе открытого ключа шифрует запрос и отправляет его на сервер;
  2. сервер, применяя закрытый ключ, расшифровывает полученное сообщение;
  3. сервер шифрует закрытым ключом свой цифровой идентификатор и передает его клиенту;
  4. клиент сверяет идентификатор сервера и передает свой;
  5. после взаимной аутентификации клиент шифрует открытым ключом ключ будущей сессии и передает его на сервер;
  6. все последующие сообщения, которые передаются между клиентом и сервером, подписываются ключом сессии и шифруются с использованием открытого и закрытого ключа.
Таким образом обеспечиваются несколько пунктов безопасности:
  • исключается возможность утечки информации – при перехвате её нельзя будет расшифровать;
  • сервер подтверждает свой адрес и идентификатор, отсекается возможность перенаправления на другой сайт (фишинг);
  • клиенту присваивается индивидуальная сессия, что позволяет отличать его от других клиентов более надежно;
  • после установки защищенной сессии все сообщения шифруются с использованием идентификатора клиента, и не могут быть незаметно перехвачены или изменены.

В общем случае шифрование открытым и закрытым ключом можно рассматривать как кейс, для которого используются два ключа: одним можно только закрыть, другим – открыть. Если кейс закрыли первым ключом, открыть его может только второй, если закрыли вторым, чтобы открыть – потребуется первый. Наглядно это можно увидеть на схеме выше.

В качестве секретной информации используются криптографические ключи.

Криптографический ключ представляет собой последовательность символов, выработанную по определенным правилам. Эта последовательность используется при криптографических преобразованиях текстов. Для каждого криптографического алгоритма существуют свои требования, в соответствии с которыми создаются ключи. Каждый ключ создается для определенного алгоритма.

Для того чтобы обеспечить невоспроизводимость электронной подписи и невозможность прочтения зашифрованных текстов посторонними людьми, в криптографии применяются криптографические ключи.

Современный криптографический ключ - это последовательность чисел определенной длины, созданная по определенным правилам на основе последовательности случайных чисел. Для каждого ключа последовательность случайных чисел создается заново, ни одна последовательность не используется более одного раза. Для генерации последовательностей случайных чисел используются специальные программные объекты или устройства, называемые датчиками случайных чисел.

Каждый алгоритм предъявляет собственные требования к ключам, поэтому любой криптографический ключ создается для определенного алгоритма и используется только с этим алгоритмом.

Если выработка электронной подписи и ее проверка, или зашифрование и расшифрование текста выполняются с помощью одного и того же ключа, такой подход называется симметричной криптографией (соответственно симметричные алгоритмы и симметричные ключи). Операции симметричной криптографии выполняются быстро и сравнительно просты. Но они требуют знания ключа по меньшей мере двумя людьми, что значительно повышает риск их компрометации (т.е. доступа к ним посторонних лиц).

Поэтому сейчас в основном используется асимметричная криптография . В асимметричной криптографии выработка электронной подписи или зашифрование выполняются на одном ключе, а проверка подписи или расшифрование - на другом, парном ключе.



В асимметричной криптографии применяются так называемые ключевые пары (key pairs). Каждая такая пара состоит из двух связанных между собой ключей. Один из этих ключей - закрытый (private key). Он известен только владельцу ключа и ни при каких условиях не должен быть доступен никому другому. Другой ключ - открытый (public key), он может быть доступен

любому желающему.

Методы аутентификации

Аутентификация - выдача определённых прав доступа абоненту на основе имеющегося у него идентификатора. IEEE 802.11 предусматривает два метода аутентификации:

1. Открытая аутентификация (англ. Open Authentication ):

Рабочая станция делает запрос аутентификации, в котором присутствует только MAC-адрес клиента. Точка доступа отвечает либо отказом, либо подтверждением аутентификации. Решение принимается на основе MAC-фильтрации, т.е. по сути это защита на основе ограничения доступа, что не безопасно.

2. Аутентификация с общим ключом (англ. Shared Key Authentication ):

Необходимо настроить статический ключ шифрования алгоритма WEP (англ. Wired Equivalent Privacy ). Клиент делает запрос у точки доступа на аутентификацию, на что получает подтверждение, которое содержит 128 байт случайной информации. Станция шифрует полученные данные алгоритмом WEP (проводится побитовое сложение по модулю 2 данных сообщения с последовательностью ключа) и отправляет зашифрованный текст вместе с запросом на ассоциацию. Точка доступа расшифровывает текст и сравнивает с исходными данными. В случае совпадения отсылается подтверждение ассоциации, и клиент считается подключенным к сети.
Схема аутентификации с общим ключом уязвима к атакам «Man in the middle». Алгоритм шифрования WEP – это простой XOR ключевой последовательности с полезной информацией, следовательно, прослушав трафик между станцией и точкой доступа, можно восстановить часть ключа.
IEEE начал разработки нового стандарта IEEE 802.11i, но из-за трудностей утверждения, организация WECA (англ. Wi-Fi Alliance ) совместно с IEEE анонсировали стандарт WPA (англ. Wi-Fi Protected Access ). В WPA используется TKIP (англ.Temporal Key Integrity Protocol , протокол проверки целостности ключа), который использует усовершенствованный способ управления ключами и покадровое изменение ключа.

WPA также использует два способа аутентификации:

1. Аутентификация с помощью предустановленного ключа WPA-PSK (англ. Pre-Shared Key ) (Enterprise Autentification);

2. Аутентификация с помощью RADIUS-сервера (англ. Remote Access Dial-in User Service )

Виды шифрования

Шифрова́ние - способ преобразования открытой информации в закрытую и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Шифрование подразделяется на процесс зашифровывания и расшифровывания.

В зависимости от алгоритма преобразования данных, методы шифрования подразделяются на гарантированной или временнойкриптостойкости.

В зависимости от структуры используемых ключей методы шифрования подразделяются на

§ симметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, но неизвестна небольшая порция секретной информации - ключа, одинакового для отправителя и получателя сообщения;

§ асимметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, и, возможно, открытый ключ, но неизвестен закрытый ключ, известный только получателю.

Существуют следующие криптографические примитивы:

§ Бесключевые

1. Хеш-функции

2. Односторонние перестановки

3. Генераторы псевдослучайных чисел

§ Симметричные схемы

1. Шифры (блочные,потоковые)

2. Хеш-функции

4. Генераторы псевдослучайных чисел

5. Примитивы идентификации

§ Асимметричные схемы

3. Примитивы идентификации

Шифрование данных на диске
Система Zserver - средство защиты конфиденциальной информации, хранимой и обрабатываемой на корпоративных серверах, методом шифрования данных на диске. Zserver работает по принципу «прозрачного» шифрования разделов жестких дисков. Система автоматически, в online режиме, осуществляет шифрование информации при записи на диск и расшифровывает при чтении с него. Это обеспечивает хранение данных на диске в зашифрованном виде и невозможность использования их без ключа шифрования даже при изъятии сервера или носителя. Система Zserver обеспечивает шифрование файлов и папок на диске, а также всей служебной информации - таблицы размещения файлов и т. д. Таким образом, система Zserver не только надежно защищает конфиденциальные данные, но и скрывает сам факт их наличия от посторонних. Информация на защищенных дисках хранится в зашифрованном виде и становится доступна, только когда администратор сети предоставит пользователю соответствующие полномочия. Права доступа к защищенным дискам устанавливаются средствами операционной системы. Шифрование файлов и папок на диске осуществляется программным драйвером. Ключи шифрования данных на диске вводятся при загрузке сервера со смарт-карты, защищенной PIN-кодом. Не зная PIN-кода, воспользоваться смарт-картой нельзя. Три попытки неправильного ввода PIN-кода заблокируют карту. Смарт-карта необходима только при подключении защищенных носителей, и в процессе работы не требуется. При перезагрузке сервера без смарт-карты, защищенные диски не будут доступны. Система Zserver предоставляет возможность удаленного ввода ключей шифрования и администрирования системы с любой рабочей станции локальной сети, или через Интернет. В настоящее время разработаны системы Zserver, которые работают под управлением следующих операционных систем: Windows 2000/XP/2003/2008 (32- и 64-разрядные); Linux с ядром 2.6.x.

Данные в этом случае рассматриваются как сообщения, и для защиты их смысла используется классическая техника шифрования .

Криптография предполагает наличие трех компонентов: данных, ключа и криптографического преобразования. При шифровании исходными данными будет сообщение, а результирующими - шифровка. При расшифрований они меняются местами. Считается, что криптографическое преобразование известно всем, но, не зная ключа, с помощью которого пользователь закрыл смысл сообщения от любопытных глаз, требуется потратить невообразимо много усилий на восстановление текста сообщения. (Следует еще раз повторить, что нет абсолютно устойчивого от вскрытия шифрования. Качество шифра определяется лишь деньгами, которые нужно выложить за его вскрытие от $10 и до $1000000.) Такое требование удовлетворяется рядом современных криптографических систем, например, созданных по "Стандарту шифрования данных Национального бюро стандартов США" DES и ГОСТ 28147-89. Так как ряд данных критичен к некоторым их искажениям, которые нельзя обнаружить из контекста, то обычно используются лишь такие способы шифрования, которые чувствительны к искажению любого символа. Они гарантируют не только высокую секретность, но и эффективное обнаружение любых искажений или ошибок.

Параметры алгоритмов

Существует множество (не менее двух десятков) алгоритмов симметричных шифров, существенными параметрами которых являются:

§ стойкость

§ длина ключа

§ число раундов

§ длина обрабатываемого блока

§ сложность аппаратной/программной реализации

§ сложность преобразования

[Распространенные алгоритмы

§ AES (англ. Advanced Encryption Standard ) - американский стандарт шифрования

§ ГОСТ 28147-89 - отечественный стандарт шифрования данных

§ DES (англ. Data Encryption Standard ) - стандарт шифрования данных в США до AES

§ 3DES (Triple-DES, тройной DES)

§ RC6 (Шифр Ривеста)

§ IDEA (англ. International Data Encryption Algorithm )

§ SEED - корейский стандарт шифрования данных

Надежность симметричной криптосистемы зависит от стойкости используемого криптографического алгоритма и от длины секретного ключа. Допустим, что сам алгоритм идеален — вскрыть его можно только путем опробования всех возможных ключей. Этот вид криптоаналитической атаки называется методом тотального перебора. Чтобы применить данный метол, криптоаналитику понадобится немного шифртекста и соответствующий открытый текст. Например, в случае блочного шифра ему достаточно получить в свое распоряжение по одному блоку шифрованного и соответствующего открытого текста. Сделать это не так уж и трудно.

Криптоаналитик может заранее узнать содержание сообщения, а затем перехватить его при передаче в зашифрованном виде. По некоторым признакам он также может догадаться, что посланное сообщение представляет собой не что иное, как текстовый файл, подготовленный с помощью распространенного редактора, компьютерное изображение в стандартном формате, каталог файловой подсистемы или базу данных. Для криптоаналитика важно то, что в каждом из этих случаев в открытом тексте перехваченного шифрсообщения известны несколько байтов, которых ему хватит, чтобы предпринять атаку со знанием открытого текста.

Подсчитать сложность атаки методом тотального перебора достаточно просто. Если ключ имеет длину 64 бита, то суперкомпьютер, который может опробовать 1 млн ключей за 1 с, потратит более 5 тыс. лет на проверку всех возможных ключей. При увеличении длины ключа до 12cS бит, этому же суперкомпьютеру понадобится 10 25 лет, чтобы перебрать все ключи. Вселенная существует всего-навсего 10"° лет, поэтому можно сказать, что 10- — это достаточно большой запас надежности для тех, кто пользуется 128-5ишымп ключами.

Однако прежде чем броситься спешно изобретать криптосистему с длиной ключа в 4 Кбайт, следует вспомнить о сделанном выше предположении, а именно: используемый алгоритм шифрования идеален в том смысле, что вскрыть его можно только методом тотального перебора. Убедиться в этом на практике бывает не так просто, как может показаться на первый взгляд. Криптография требует утонченности и терпения. Новые сверхсложные криптосистемы при более внимательном рассмотрении зачастую оказываются очень нестойкими. А внесение даже крошечных изменений в стойкий криптографический алгоритм может существенно понизить его стойкость. Поэтому надо пользоваться только проверенными шифрами, которые известны уже в течение многих лет, и не бояться проявлять болезненную подозрительность по отношению к новейшим алгоритмам шифрования, вне зависимости от заявлений их авторов об абсолютной надежности этих алгоритмов.

Важно также не забывать о правиле Керкхоффа: стойкость алгоритма шифрования должна определяться ключом, а не деталями самого алгоритма. Чтобы быть уверенным в стойкости используемого шифра, недостаточно проанализировать его при условии, что противник досконально знаком с алгоритмом шифрования. Нужно еще и рассмотреть атаку на этот алгоритм, при которой враг может получить любое количество шифрованного и соответствующего открытого текста. Более того, для повышения надежности следует предположить, что криптоаналитик имеет возможность организовать атаку с выбранным открытым текстом произвольной длины.

К счастью, в реальной жизни большинство людей, интересующихся содержанием ваших шифрованных файлов, не обладают квалификацией высококлассных специалистов и вычислительными ресурсами, которые имеются в распоряжении правительств мировых супердержав. Последние же вряд ли будут тратить время и деньги, чтобы прочесть ваше пылкое сугубо личное послание. Однако, если вы планируете свергнуть«антинародное правительство», вам необходимо всерьез задуматься о стойкости применяемого алгоритма шифрования.

Сложность и стоимость атаки методом тотального перебора

Атака методом тотального перебора, как правило, представляет собой разновидность атаки со знанием открытого текста. Если предположить, что атака методом тотального перебора является наиболее эффективной среди возможных атак на используемый вами симметричный алгоритм шифрования. то ключ должен быть достаточно длинным, чтобы успешно отразить эту атаку. Насколько длинным?

Среди параметров, которые необходимо принимать во внимание при рассмотрении атаки методом тотального перебора, прежде всего, надо упомянуть об

Общем количестве проверяемых ключей и о времени, затрачиваемом противником на проверку одного ключа. Количество ключей для конкретною алгоритма обычно фиксировано. Например, DES-алгоритм использует 56-битный ключ. Это означает, что его ключевое пространство содержит 2 56 ключей.

Скорость проверки ключей играет менее важную роль, чем их количество. Для простоты изложения можно считать, что вне зависимости от алгоритма шифрования, время, которое требуется на проверку одного ключа, одинаково. На практике данное предположение неверно, и для разных криптографических алгоритмов это время может различаться в десятки раз. Поскольку нашей целью является отыскание такой длины ключа, при которой стойкость алгоритма шифрования против атаки методом тотального перебора в миллионы раз превышает предел, делающий эту атаку неосуществимой на практике, то сделанное нами предположение вполне оправдано.

При решении вопроса о достаточной длине ключа в качестве алгоритма шифрования чаще всего рассматривается DES-алгоритм. В 1977 г. американские криптологи У. Диффи(W .Diffie) и М. Хеллман(M .Hellman) заявили, что при существующем уровне развития компьютерной технологии можно построить специализированный суперкомпьютер для вскрытия ключей DES-алгоритма методом тотального перебора. Имея в своем составе 1 млн микросхем, каждая из которых способна проверять 1 млн ключей в секунду, этот суперкомпьютер перебрал бы все 2 56 ключей за 20 час.

Атака методом тотального перебора идеально подходит для реализации на параллельном суперкомпьютере, состоящем из многих процессоров. Отдельным процессорам, ведущим поиск ключа, нет необходимости устанавливать связь с другими процессорами суперкомпьютера во время выполнения своей части поиска. Следовательно, все процессоры специализированного суперкомпьютера, предназначенного для параллельного поиска ключей, необязательно находятся даже в одном городе, не говоря уже об одном помещении.

В 1993 г. американский криптолог М. Винер(M .Wiener) спроектировал суперкомпьютер для атаки на DES-атгоритм методом тотального перебора. Рассуждения Винера верны не только для DES-алгоритма, но и практически для любого другого алгоритма шифрования. Суперкомпьютер, разработанный Винером, состоит из специализированных микросхем, плат и стоек. По мнению Винера, для того чтобы гарантировать вскрытие 56-битного ключа за 7 час, на изготовление такого суперкомпьютера потребуется не более 1 млн долларов. По закону Мура, вычислительная мощь компьютеров улавливается каждые полтора года. Поэтому к 2001 г. стоимость суперкомпьютера, придуманного Винером, уменьшится в 10 раз и составит всего-навсего 100 тыс. долларов. Это означает, что уже сейчас крупные компании и«крутые » криминальные структуры могут вскрывать 56-битные ключи. Для военных криптоаналитиков в большинстве индустриально развитых стран доступны 64-битные ключи.

В 1996 г. Диффи, Винер и другие авторитетные американские криптологи опубликовали результаты своей исследовательской работы по определению длины ключа, необходимой для адекватной защиты информации от атаки методом тотального перебора(табл . 6.1).

Таблица 6.1. Стоимость и вычислительная сложность атаки методом тотального перебора

Кто атакует

Сложность атаки

Стойкий ключ

Малый бизнес

10 тыс. долл.

Крупная компания

10 млн долл.

Федеральное агентство

300 млн долл.

К приведенным в табл. 6.1 цифрам следует относиться с осторожностью. Теоретический расчет затрат на проведение атак методом тотального перебора на криптографические ключи разной длины всегда существенно отличается от того, с чем криптоаналитики сталкиваются на практике при покупке или разработке суперкомпьютеров для ведения такого рода атак. Объясняется это тем, что одни сделанные допущения оказываются весьма далеки от реальности, в то время как другие факторы просто не принимаются во внимание. В данном случае Диффи, Винер и другие посчитали, что при создании специализированного суперкомпьютера для атаки методом тотального перебора будут использоваться заказные микросхемы ценой не более 10 долл. По оценкам АНБ, такие микросхемы стоят, как правило, в 100 раз дороже. У АНБ вызвало сомнение и допущение о том, что вне зависимости от алгоритма шифрования, лишь длина ключа определяет сложность криптоаналитической атаки. Кроме того, при составлении таблицы не были учтены затраты на научно-исследовательские и опытно-конструкторские работы, которые для первого экземпляра суперкомпьютера обычно составляют не менее 10 млн долл. Не были также приняты во внимание расходы на приобретение компьютерной памяти.

Из сказанного можно сделать весьма важный вывод. Если кто-то очень захочет узнать использованный вами ключ, ему нужно всего лишь потратить достаточное количество денег. Поэтому определяющей является стоимость зашифрованной вами информации. Если цена ей в базарный день — около 2 долл., вряд ли кто-то решится потратить 1 млн, чтобы ее заполучить. Но если прибыль от прочтения вашей шифровки составляет 100 млн долл.. — берегитесь! Единственным утешением может послужить тот факт, что с течением времени любая информация очень быстро устаревает и теряет свою ценность.

Программная атака

Без специализированного компьютерного оборудования, ведущего параллельный поиск ключей, атака методом тотального перебора имеет значительно меньше шансов на успех. Однако если вы не припасли лишний миллион долларов, который можно потратить на изготовление такого оборудования, есть другой, более дешевый, способ попытаться вскрыть интересующий вас ключ.

В мире имеется огромное количество компьютеров(по оценкам экспертов, в 1996 г. их число достигло 200 млн), которые, чтобы не простаивать, могли бы опробовать ключи. Эксперимент, проведенный в начале 1997 г., показал, что таким способом за две недели можно вскрыть 48-битный ключ. И хотя этот ключ был найден методом тотального перебора после проверки чуть более половины всех возможных ключей, полученный результат впечатляет, поскольку в ходе атаки одновременно использовались не более 5 тысяч компьютеров из существующих 200 миллионов, а в общей сложности в атаке оказались задействованными лишь 7 тысяч компьютеров.

Основное препятствие на пути к использованию миллионов вычислительных устройств, разбросанных по всему миру, заключается в невозможности сделать так, чтобы их владельцы приняли участие в атаке. Можно, конечно, вежливо попросить каждого из них об услуге, но во-первых, на это уйдет уйма времени, а во-вторых, ответом в большинстве случаев будет, скорее всего, твердое«нет ». Можно попытаться тайком проникнуть на чужие компьютеры через сеть, но на это понадобится еще больше времени, да вдобавок вас могут арестовать.

Более разумным представляется создание компьютерного вируса, который вместо того, чтобы стирать файлы с жесткого диска и выдавать на дисплей % глупые сообщения, незаметно для владельца компьютера будет перебирать возможные ключи. Проведенные исследования показывают, что в распоряжении вируса будет от 70 до 90% процессорного времени зараженного им компьютера. После вскрытия ключа вирус может породить новый вирус, содержащий информацию о найденном ключе, и отправить его странствовать по компьютерной сети до тех пор, пока он не доберется до своего хозяина.

При более тонком подходе вирус, обнаруживший ключ, выдаст на экран компьютера информацию вида:

В ВАШЕМ КОМПЬЮТЕРЕ ОБНАРУЖЕНА СЕРЬЕЗНАЯ ОШИБКА!

ПОЖАЛУЙСТА, ПОЗВОНИТЕ ПО ТЕЛЕФОНУ(095 )123-45-67

И ЗАЧИТАЙТЕ ОПЕРАТОРУ СЛЕДУЮЩЕЕ 48-БИТОВОЕ ЧИСЛО:

Хххххххх ххххххх ххххххх ххххххх ххххххх ххххххх

ПЕРВОМУ, КТО СООБЩИТ ОБ ЭТОЙ ОШИБКЕ, ГАРАНТИРОВАНО

ВОЗНАГРАЖДЕНИЕ В РАЗМЕРЕ 100(СТА ) ДОЛЛАРОВ.

Если вирусу удастся заразить 10 млн компьютеров, каждый из которых станет проверять хотя бы 1 тыс. ключей в секунду, то 56-битный ключ будет найден менее чем через 3 месяца. Дополнительно придется раскошелиться на подкуп производителей антивирусных программ, однако к компьютерной криптографии, о которой сейчас идет речь, эта проблема никакого отношения не имеет.

Китайская лотерея

Допустим, что для атаки методом тотального перебора во всякий без исключения китайский радиоприемник и телевизор встраивается специальная микросхема, проверяющая 1 млн&;nbsp;ключей в секунду. Каждая из них автоматически перебирает свое подмножество ключей после получения из эфира фрагментов шифрованного и соответствующего открытого текста. Как только правительство Китая пожелает вскрыть какой-нибудь ключ, оно принимает постановление, которое обязывает всех владельцев телевизоров и радиоприемников включить свои аппараты в определенное время, чтобы они могли принять пару фрагментов текста и приступить к перебору ключей.

За найденный ключ полагается значительный приз. Благодаря этому радиоприемники и телевизоры со встроенными микросхемами хорошо раскупаются, а вскрытые ключи своевременно доводятся до сведения китайского правительства. Если учесть, что у каждого из десяти китайцев есть радиоприемник или телевизор, то получится, что на вскрытие 64-битного ключа китайскому правительству потребуется самое большее 43 часа. В табл. 6.2 приведена сложность вскрытия 64-битного ключа с помощью«китайской лотереи» при ее проведении в Китае, а также в США, Ираке и Израиле.

Таблица 6.2. Сложность вскрытия 64-битного ключа с помощью«китайской лотереи»

Криптографические ключи

Известно, что все без исключения алгоритмы шифрования используют криптогра­фические ключи. Именно поэтому одна из задач криптографии - управление ключа­ми, т. е. их генерация, накопление и распределение. Если в компьютерной сети зареги­стрировано п пользователей и каждый может связаться с каждым, то для нее необходимо иметь п*(п-1)/2 различных ключей. При этом каждому из п пользователей следует предоставить (п-1) ключ, т. к. от их выбора в значительной степени зависит надеж­ность защиты конфиденциальной информации. Выбору ключа для криптосистемы при­дается особое значение.

Более того, так как практически любой криптографический ключ может быть рас­крыт злоумышленником, то необходимо использовать определенные правила выбора, генерации, хранения и обновления их в процессе сеансов обмена секретными сообще­ниями, а также их доставки безопасным способом до получателей. Также известно, что для одноключевых криптосистем необходим защищенный канал связи для управ­ления ключом. Для двухключевых криптосистем нет необходимости в таком канале связи.

Процесс генерации ключей должен быть случайным. Для этого можно использо­вать генераторы случайных чисел, а также их совокупность с каким-нибудь непредс­казуемым фактором, например, выбором битов от показаний таймера. При накопле­нии ключи нельзя записывать в явном виде на носители. Для повышения безопасности ключ должен быть зашифрован другим ключом, другой - третьим и т. д. Последний ключ в этой иерархии шифровать не нужно, но его следует размещать в защищенной части аппаратуры. Такой ключ называется мастер-ключом.

Выбранные ключи необходимо распределять таким образом, чтобы не было зако­номерностей в изменении ключей от пользователя к пользователю. Кроме того, надо предусмотреть частую смену ключей, причем частота их изменения определяется дву­мя факторами: временем действия и объемом информации, закрытой с их использова­нием.

Криптографические ключи различаются по своей длине и, следовательно, по силе: ведь чем длиннее ключ, тем больше число возможных комбинаций. Скажем, если про­грамма шифрования использует 128-битные ключи, то ваш конкретный ключ будет одной из 2128 возможных комбинаций нулей и единиц. Злоумышленник с большей вероятностью выиграет в лотерею, чем взломает такой уровень шифрования методом «грубой силы» (т. е. планомерно перебирая ключи, пока не встретится нужный). Для сравнения: чтобы подобрать на стандартном компьютере симметричный 40-битный ключ, специалисту по шифрованию потребуется около 6 часов. Даже шифры со 128-битным ключом до некоторой степени уязвимы, т. к. профессионалы владеют изощ­ренными методами, которые позволяют взламывать даже самые сложные коды.



Надежность симметричной криптосистемы зависит от стойкости используемого криптографического алгоритма и от длины секретного ключа. Допустим, что сам ал­горитм идеален: вскрыть его можно только путем опробования всех возможных клю-

чей. Этот вид криптоаналитической атаки называется методом тотального перебора. Чтобы применить данный метод, криптоаналитику понадобится немного шифротек-ста и соответствующий открытый текст. Например, в случае блочного шифра ему до­статочно получить в свое распоряжение по одному блоку шифрованного и соответ­ствующего открытого текста. Сделать это не так уж и трудно.

Криптоаналитик может заранее узнать содержание сообщения, а затем перехва­тить его при передаче в зашифрованном виде. По некоторым признакам он также мо­жет догадаться, что посланное сообщение представляет собой не что иное, как тексто­вый файл, подготовленный с помощью распространенного редактора, компьютерное изображение в стандартном формате, каталог файловой подсистемы или базу данных. Для криптоаналитика важно то, что в каждом из этих случаев в открытом тексте пере­хваченного шифросообщения известны несколько байт, которых ему хватит, чтобы предпринять атаку.

Подсчитать сложность атаки методом тотального перебора достаточно просто. Если ключ имеет длину 64 бита, то суперкомпьютер, который может опробовать 1 млн клю­чей за 1 с, потратит более 5000 лет на проверку всех возможных ключей. При увеличе­нии длины ключа до 128 бит этому же суперкомпьютеру понадобится 1025 лет, чтобы перебрать все ключи. Можно сказать, что 1025 - это достаточно большой запас на­дежности для тех, кто пользуется 128-битными ключами.

Однако прежде чем броситься спешно изобретать криптосистему с длиной ключа, например, в 4000 байт, следует вспомнить о сделанном выше предположении: исполь­зуемый алгоритм шифрования идеален в том смысле, что вскрыть его можно только методом тотального перебора. Убедиться в этом на практике бывает не так просто, как может показаться на первый взгляд.

Криптография требует утонченности и терпения. Новые сверхсложные криптосис­темы при более внимательном рассмотрении часто оказываются очень нестойкими. А внесение даже крошечных изменений в стойкий криптографический алгоритм мо­жет существенно понизить его стойкость. Поэтому надо пользоваться только прове­ренными шифрами, которые известны уже в течение многих лет, и не бояться прояв­лять болезненную подозрительность по отношению к новейшим алгоритмам шифрования, вне зависимости от заявлений их авторов об абсолютной надежности этих алгоритмов.

Важно также не забывать о том, что стойкость алгоритма шифрования должна оп­ределяться ключом, а не деталями самого алгоритма. Чтобы быть уверенным в стой­кости используемого шифра, недостаточно проанализировать его при условии, что противник досконально знаком с алгоритмом шифрования. Нужно еще и рассмотреть атаку на этот алгоритм, при которой враг может получить любое количество шифро­ванного и соответствующего открытого текста. Более того, следует предположить, что криптоаналитик имеет возможность организовать атаку с выбранным открытым текстом произвольной длины.

К счастью, в реальной жизни большинство людей, интересующихся содержанием ваших шифрованных файлов, не обладают квалификацией высококлассных специали­стов и необходимыми вычислительными ресурсами, которые имеются в распоряже­нии правительств мировых супердержав. Последние же вряд ли будут тратить время и деньги, чтобы прочесть ваше пылкое сугубо личное йослание. Однако, если вы плани-

руете свергнуть «антинародное правительство», вам необходимо всерьез задуматься о стойкости применяемого алгоритма шифрования.

Многие современные алгоритмы шифрования с открытым ключом основаны на однонаправленности функции разложения на множители числа, являющегося произ­ведением двух больших простых чисел. Эти алгоритмы также могут быть подвергну­ты атаке, подобной методу тотального перебора, применяемому против шифров с сек­ретным ключом, с одним лишь отличием: опробовать каждый ключ не потребуется, достаточно суметь разложить на множители большое число.

Конечно, разложение большого числа на множители - задача трудная. Однако сразу возникает резонный вопрос, насколько трудная. К несчастью для криптографов, ее решение упрощается, и, что еще хуже, значительно более быстрыми темпами, чем ожидалось. Например, в середине 70-х годов считалось, что для разложения на мно­жители числа из 125 цифр потребуются десятки квадрильонов лет. А всего два десяти­летия спустя с помощью компьютеров, подключенных к сети Internet, удалось доста­точно быстро разложить на множители число, состоящее из 129 цифр. Этот прорыв стал возможен благодаря тому, что за прошедшие 20 лет были не только предложены новые, более быстрые, методы разложения на множители больших чисел, но и возрос­ла производительность используемых компьютеров.

Поэтому квалифицированный криптограф должен быть очень осторожным и ос­мотрительным, когда работает с длинным открытым ключом. Необходимо учитывать, насколько ценна засекречиваемая с его помощью информация и как долго она должна оставаться в тайне для посторонних.

А почему не взять 10 000-битный ключ? Ведь тогда отпадут все вопросы, связан­ные со стойкостью несимметричного алгоритма шифрования с открытым ключом, ос­нованном на разложении большого числа на множители. Но дело в том, что обеспече­ние достаточной стойкости шифра - не единственная забота криптографа. Имеются дополнительные соображения, влияющие на выбор длины ключа, и среди них - воп­росы, связанные с практической реализуемостью алгоритма шифрования при выбран­ной длине ключа.

Чтобы оценить длину открытого ключа, будем измерять доступную криптоанали-тику вычислительную мощь в так называемых мопс-годах, т. е. количеством операций, которые компьютер, способный работать со скоростью 1 млн операций в секунду, выполняет за год. Допустим, что злоумышленник имеет доступ к компьютерным ре­сурсам общей вычислительной мощностью 1000 мопс-лет, крупная корпорация - 107 мопс-лет, правительство - 109 мопс-лет. Это вполне реальные цифры, если учесть, что при реализации упомянутого выше проекта разложения числа из 129 цифр его участники задействовали всего 0,03% вычислительной мощи Internet, и чтобы добить­ся этого, им не потребовалось принимать какие-либо экстраординарные меры или выходить за рамки закона. Из табл. 4.6 видно, сколько требуется времени для разло­жения различных по длине чисел.

Сделанные предположения позволяют оценить длину стойкого открытого ключа в зависимости от срока, в течение которого необходимо хранить зашифрованные с его помощью данные в секрете (табл. 4.7). При этом нужно помнить, что криптографичес­кие алгоритмы с открытым ключом часто применяются для защиты очень ценной ин­формации на весьма долгий период времени. Например, в системах электронных пла-

Таблица 4.6. Связь длины чисел и времени, необходимого для их разложения на множители

тежей или при нотариальном заверении электронной подписи. Идея потратить несколь­ко месяцев на разложение большого числа на множители может показаться кому-то очень привлекательной, если в результате он получит возможность рассчитываться за свои покупки по чужой кредитной карточке.

С приведенными в табл. 4.7 данными согласны далеко не все криптографы. Неко­торые из них наотрез отказываются делать какие-либо долгосрочные прогнозы, счи­тая это бесполезным делом, другие - чересчур оптимистичны, рекомендуя для сис­тем цифровой подписи длину открытого ключа всего 512-1024 бита, что является совершенно недостаточным для обеспечения надлежащей долговременной защиты.

Криптоаналитическая атака против алгоритма шифрования обычно бывает направ­лена в самое уязвимое место этого алгоритма. Для организации шифрованной связи часто используются криптографические алгоритмы как с секретным, так и с открытым ключом. Такая криптосистема называется гибридной. Стойкость каждого из алгорит­мов, входящих в состав гибридной криптосистемы, должна быть достаточной, чтобы успешно противостоять вскрытию. Например, глупо применять симметричный алго­ритм с ключом длиной 128 бит совместно с несимметричным алгоритмом, в котором длина ключа составляет всего 386 бит. И наоборот, не имеет смысла задействовать симметричный алгоритм с ключом длиной 56 бит вместе с несимметричным алгорит­мом с ключом длиной 1024 бита.

Таблица 4.8. Длины ключей для симметричного и несимметричного алгоритмов

шифрования, обладающих одинаковой стойкостью

В табл. 4.8 перечисляются пары длин ключей для симметричного и несимметрич­ного криптографического алгоритма, при которых стойкость обоих алгоритмов про­тив криптоаналитической атаки методом тотального перебора приблизительно одина­кова. Из этих данных следует, что если используется симметричный алгоритм с 112-битным ключом, то вместе с ним должен применяться несимметричный алгоритм с 1792-битным ключом. Однако на практике ключ для несимметричного алгоритма шифрования обычно выбирают более стойким, чем для симметричного, поскольку с помощью первого защищаются значительно большие объемы информации и на более продолжительный срок.