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

Классификация зашифрованного текста

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

Ниже рассмотрены алгоритмы шифрования, безопасность которых определяется алгоритмом, а не секретным ключом. Для прочтения зашифрованного таким алгоритмом сообщения нужно взломать его. В большинстве случаев взлом алгоритма подразумевает преобразование ключа или открытого текста в соответствии с алгоритмом, который доступен исследователю в виде программы или «черного ящика». Управляя входными данными и анализируя результаты, можно определить алгоритм. Впоследствии, зная алгоритм, можно будет по произвольному результату (зашифрованному сообщению) определять входные данные (расшифрованное сообщение).

Примечание

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

Частотный анализ

Частотный анализ (frequency analysis) - наиболее эффективный и часто используемый метод расшифровки сообщений, зашифрованный простым алгоритмом. Он основан на том, что одни буквы в словах встречаются чаще, чем другие. Например, в английском языке трудно найти слово без буквы е. Каким образом, зная частоту букв, можно расшифровать сообщение? Для ответа на этот вопрос нужно выбрать достаточно большое зашифрованное сообщение и составить таблицу частоты встречаемости букв в словах, в которой будет указана частота использования каждой буквы. А затем сравнить полученную таблицу с аналогичной таблицей частоты использования букв языка, на котором было написано сообщение. В результате можно догадаться, какие буквы зашифрованного сообщения соответствуют буквам открытого текста.

Проницательный читатель обнаружит, что некоторые буквы появляются с почти одинаковой частотой. Как в этом случае определить букву? Для этого нужно или проанализировать все, что сопутствует появлению букв в сообщении (контекст сообщения), или воспользоваться таблицей частот сочетаний букв, например sh, ph, ie и the (в английском языке).

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

Анализ зависимости между длинами зашифрованного и открытого текстов (Ciphertext Relative Length Analysis)

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

Зная, что при шифровании длина текста не изменяется, можно воспользоваться этим для выбора части шифротекста, которую можно расшифровать на основании тех или иных предположений. Например, во время Второй мировой войны союзники использовали похожий способ разгадки попавшего в их руки кода немецкой шифровальной машинки Enigma, потому что знали, что, вероятнее всего, фраза «Heil Hitler» встретится в конце каждого зашифрованного текста.

Анализ сходства зашифрованного и открытого текстов

Анализ сходства зашифрованного и открытого текстов (Similar Plaintext Analysis), применяемый для взлома неизвестных алгоритмов, основан на анализе изменений зашифрованного сообщения в зависимости от изменений открытого текста. Конечно, для этого необходимо, чтобы у исследователя была возможность выборочного шифрования тщательно подобранных образцов открытого текста. Например, пусть он зашифровал строки «АААААА», «АААААВ» и «ВААААА» и проанализировал различия в зашифрованных текстах. В случае моноалфавитного шифра естественно было бы ожидать, что первые две строки различаются только последним символом. Если это так, то несложно построить таблицу трансляции символов в соответствии с исследуемым алгоритмом, которая отражала бы соответствие между символами открытого и зашифрованного текстов и наоборот. После того как таблица была бы готова, не составило бы труда написать программу расшифровки зашифрованного текста.

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

Моноалфавитные шифры

Моноалфавитный шифр - это шифр, в котором каждый символ алфавита заменяется другим символом в отношении 1:1. Ранее рассмотренные в главе шифры Цезаря и ROT13 -классические примеры моноалфавитных шифров. Некоторые моноалфавитные шифры скремблируют алфавит (шифруют путем перестановки групп символов), изменяя порядок букв в алфавите ABCDEFGHIJKLMNO PQRSTUVWXYZ на

MLNKBJVHCGXFZDSAPQOWIEURYT. Другими словами, новый алфавит, используемый для шифрования сообщений, получают из старого путем замены букв М = A, L = В.. Т = Z. При использовании этого метода вместо сообщения «SECRET» получают «OBNQBW».

Из-за легкости взлома сегодня редко можно встретить подобный шифр. Такие шифры раскрываются перебором всевозможных комбинаций букв алфавита или использованием лингвистического анализа (language analysis). Моноалфавитные шифры легко поддаются частотному анализу, благодаря тому что, несмотря на замену одних букв другими, частота появления каждого символа в сообщении будет соответствовать известной частоте использования букв в языке.

Другие способы скрытия информации

Иногда разработчики следуют древнему способу обеспечения безопасности -тотальной секретности. И вместо применения испытанных криптографических алгоритмов они пытаются скрыть данные при помощи хорошо известных обратимых алгоритмов, как, например, UUEncode, Base64 или комбинации каких-нибудь простых методов. В этом случае все, что нужно для расшифровки, - это повторно преобразовать зашифрованное сообщение при помощи алгоритма, ранее использованного для его зашифровки. Часть разработчиков пользуется кодировкой данных при помощи операции исключающего ИЛИ (XOR) вместо применения криптографических алгоритмов с ключом. Для кодировки сообщения ключ не нужен. Ниже рассмотрены некоторые широко известные алгоритмы кодирования.

XOR

В качестве промежуточного шага многие сложные и безопасные алгоритмы шифрования используют операцию XOR. Часто можно встретить данные, которые пытались скрыть операцией XOR. XOR - сокращение от английских слов ИСКЛЮЧАЮЩЕЕ ИЛИ (exclusive or). ИСКЛЮЧАЮЩЕЕ ИЛИ - логическая операция, таблица истинности которой представлена в табл. 6.2. Операция выполняется на битах А и В. Результат операции равен О только в том случае, если оба бита одинаковы. В противном случае результат равен 1.

Таблица 6.2.

Таблица истинности операции XOR

A
В A XOR В
0
0
0
0
1
1
1
0
1
1
1
0

Посмотрите на простой пример кодировки и восстановления данных с помощью операции XOR. В примере используется один ключевой символ («А») для преобразования сообщения, состоящего из единственного символа («В»), В результате получится зашифрованное сообщение «ciphertext» (см. табл. 6.3).

Таблица 6.3.

Операция XOR над «А» и «В»_

Операнды Двоичное значение
A
01100001
В
01100010
Ciphertext
00000011

Предположим, что известны величина «В» и результат шифрования сообщения «ciphertext». Как найти неизвестный ключ «А»? Требуется восстановить ключ для раскодирования другого закодированного сообщения «ciphertext2», битовое представление которого 00011010. Для этого нужно выполнить операцию XOR с операндами «В» и «ciphertext» и восстановить ключ «А». Результат восстановления показан в табл. 6.4. Таблица 6.4.

Результат операции XOR на операндах «ciphertext» и «В»

Операнды Двоичное значение
Ciphertext
00000011
В
01100010
А
01100001

После восстановления ключа им можно воспользоваться для декодирования «cipher2» и в результате закодировать символ «Z» (см. табл. 6.5).

Таблица 6.5.

Результат операции XOR на операндах «cipher2» и «А»_

Операнды Двоичное значение
cipher2
00011010
А
01100001
Z
01111010

Конечно, это слишком простой пример. Скорее всего, на практике придется столкнуться с ключами, состоящими из нескольких символов. Кроме того, кодирование сообщений операцией XOR может выполняться последовательно несколько раз. Манипуляции над абстрактными 0 и 1 могут оказаться трудными для восприятия, если ранее читатель не сталкивался с двоичными числами и величинами. Поэтому автор решил привести пример простой программы, которая выполняет серию из трех операций XOR на различных перестановках ключа для кодирования сообщения. В этой короткой программе на языке Perl используется свободно распространяемый модуль Illkey для обращения к внутренней функции шифрования XOR. Для того чтобы воспользоваться приведенной программой, следует загрузить модуль Illkey по адресу www3.marketrends.net/encrypt.#!/usr/bin/perl #!/usr/bin/perl # Encodes/Decodes a form of XOR text

# Requires the Illkey module
# Written specifically for HPYN 2nd Ed.
# by FWL 01.07.02
# Use the Illkey module for the backend

# Illkey is available from http://www3.marketrends.net/

encrypt/ use Illkey;
# Simple input validation sub validate() { if (scalar(@ARGV) < 3) { print “ Error: You did not specify input correctly !\n” ; print “ To encode data use ./xor.pl e \“ Key\” \“ String to Encode\”\n”; print “ To decode data use ,/xor.pl d \“ Key\” \“ String to Decode\”\n”; exit;
}
}
validateO;
$tmp=new Illkey;
$key=$ARGV[l];
$intext=$ARGV[2]; if ($ARGV[0] eq “e”) { # encode text $outtext=$tmp->crypt($intext, $key); print “Encoded $intext to $outtext”;
} elsif ($ARGV[0] eq “d”) { # decode text $outtext=$tmp->decrypt($intext, $key); print “Decoded $intext to $outtext”;
} else { # No encode/decode information given! print “To encode or decode? That is the question.”;
exit;
}

А вот пример отчета работы программы.

$ ,/xor.pl е “my key” “secret message” Encoded secret message to 8505352480A0758144+510906534 $ ,/xor.pl d “my key” “8505352480A0758144+510906534”

Decoded 8505352480A0758144+510906534 to secret message Алгоритм UUEncode UUEncode - алгоритм, который обычно используется для преобразования двоичных данных в текстовый формат для передачи по электронной почте. (UUEncode - кодирование Unix-Unix (метод преобразования файлов из двоичного формата в текстовый и обратно для обеспечения пересылки по сети Internet посредством электронной почты)). Вероятно, читателю известно, что большинство программ электронной почты не могут непосредственно обрабатывать двоичные вложения к письмам электронной почты. Поэтому в случае присоединения двоичного файла (как, например, рисунка в формате JPEG) к письму электронной почты клиент электронной почты преобразует двоичные данные в текстовый эквивалент, возможно, с помощью алгоритма, подобного UUEncode. Присоединенный файл преобразуется из двоичного формата в поток печатаемых символов, который может быть обработан почтовой программой. После получения письма вложение преобразуется обратным алгоритмом кодирования (UUDecode) для преобразования к оригинальному двоичному файлу.

Иногда разработчики используют алгоритм UUEncode для кодирования обычного печатаемого текста для скрытия смысла сообщения. В этом случае для восстановления сообщения достаточно преобразовать закодированный текст сообщения программой

UUDecode. Клиенты UUEncode/UUDecode с интерфейсом командной строки доступны почти для каждой когда-либо созданной операционной системы.

Алгоритм Base64 Алгоритм Base64, так же как и UUEncode/UUDecode, используется для кодирования вложений электронной почты МГМЕ-расширений (Multipurpose Internet Mail Extensions (MIME) - многоцелевые расширения электронной почты в сети Internet. Набор стандартов для передачи мультимедийной информации посредством электронной почты). Вероятно, читатель еще столкнется с паролями и другой интересной информацией, скрываемой кодированием Base64. Примечательно, что часто встречаются Web-сервера с возможностью HTTP-аутентификации, которые хранят пароли в формате Base64. Если в руки злоумышленника попадет имя пользователя и его пароль, закодированный алгоритмом Base64, то он сможет в течение нескольких секунд раскрыть их. Характерным признаком кодировки Base64 служит наличие одного или двух знаков равенства (=) в конце строки. Знаки равенства часто используются как символы дополнения данных.

Посмотрите на простой пример программы раскодирования данных в формате Base64. Этот фрагмент программы должен выполняться на любой операционной системе, на которой установлен Рег15 или, еще лучше, модуль MIME::Base64 компании CPAN (www.cpan.org). Приведены также примеры использования программы и отчет ее работы.

#!/usr/bin/perl # Filename: base64.pl
# Encodes/Decodes Base-64 text
# Requires the MIME::Base64 module
# Written specifically for HPYN 2nd Ed.
# by FWL 01.07.02
# Use the MIME module for encoding/decoding Base-64 strings use MIME::Base64;
# Simple input validation sub validate() {
if (scalar(@ARGV) < 2) {
print “Error: You did not specify input correctly !\n”; print “To encode data use ./base64.pl e \“String to Encode\”\n”;
print “To decode data use ./base64.pl d \“String to
Decode\”\n”;
exit;
}
}
validate();
$intext=$ ARGV[ 1 ]; if ($ARGV[0] eq “e”) { # encode text $outtext=encode_base64($intext); print “Encoded $intext to $outtext”;
} elsif ($ARGV[0] eq “d”) { # decode text $outtext=decode_base64($intext); print “Decoded $intext to $outtext”;
} else { #No encode/decode information given! print “To encode or decode? That is the question”; exit;
}

А вот пример отчета работы программы.

$ ./base64.pl е “Secret Password” Encoded Secret Password to U2VjcmV0IFBhc3N3b3Jk $ ./base64.pl d“U2VjcmV0IFBhc3N3b3Jk”

Decoded U2VjcmV0IFBhc3N3b3Jk to Secret Password

Алгоритмы сжатия данных Иногда может показаться, что для скрытия данных алгоритмов сжатия недостаточно. В прошлом некоторые разработчики игр сжимали файлы состояния игры не только для сокращения необходимой для их хранения памяти, но и для затруднения внесения в них изменений при помощи разнообразных редакторов игр. В те годы для этих целей наиболее часто использовались алгоритмы SQSH (Squish or Squash) и LHA. Сами алгоритмы были унаследованы от консольных игр 1980-х, когда их использовали для сжатия образа постоянного запоминающего устройства (ROM - Read Only Memory) в картриджах. Как правило, в случае невозможности расшифровать текст стандартными методами следует проверить, а не был ли он сжат одним из многочисленных общедоступных алгоритмов сжатия.

Приоткрывая завесу

Криптографические средства, ориентированные на пользователя

SDMI бросает вызов хакерам

Иногда принимается решение использовать криптографические средства, которые хотя и нельзя назвать любительскими, но тем не менее не соответствующими профессиональному уровню. Например, организация «Инициатива обеспечения безопасности музыкальных произведений» SDMI (SDMI - Secure Digital Music Initiative) попыталась разработать способ маркировки цифровой музыки «водяными знаками» при помощи специального закодированного сигнала. По замыслу разработчиков, «водяной знак» должен был защитить музыкальные произведения от неавторизованного прослушивания или копирования. В процессе разработки SDMI предложила сообществу хакеров взломать шесть схем «водяных знаков» за $10 ООО. Музыкальное произведение считалось взломанным при предъявлении музыкальной записи без «водяных знаков», которая была получена из образца записи с «водяными знаками». В распоряжение соискателей были предоставлены только образцы записей с «водяными знаками» без разглашения принципов их построения. До и после каждого образца записи были использованы различные схемы «водяных знаков», для того чтобы можно было найти в них различия.

Две из шести схем «водяных знаков» были отклонены сразу же после начала конкурса, а оставшиеся четыре были взломаны почти одновременно группой ученых под руководством профессора Принстонского университета Эдварда В. Фелтена (Edward W. Felten) через несколько недель. Фелтен и его партнеры решили отказаться от $10 ООО и представить общественности результаты своих исследований, воспользовавшись небольшой неточностью в договоре на проведение исследований. В договоре было сказано, что приз в $10 ООО может быть получен при условии сохранения результатов исследования в тайне. Но при этом ничего не говорилось об обязательствах конкурсанта при отсутствии его материальной заинтересованности. По всей видимости, SDMI намеревалась возбудить судебный процесс в соответствии с Актом авторского права цифрового тысячелетия (DMCA). Акт предусматривает ответственность за разглашение сведений, которые могут использоваться в интересах обхода средств защиты авторского права. В конечном счете SDMI приняла решение не возбуждать судебный процесс, а Фелтен и его партнеры представили свои результаты на 10-м Симпозиуме по вопросам безопасности пользователей UNIX (10th USENIX Security Symposium). Выводы Фелтена, полностью разделяемые сообществом безопасности, свидетельствуют о неизбежном взломе схем шифрования, основанных на «водяных знаках». Интересно отметить замеченный Фелтеном и его партнерами факт о том, что для взлома схем «водяных знаков» не требуется специальных знаний в области информатики. Достаточно знать общую теорию обработки сигналов.

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

Резюме

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

В настоящее время широко используются симметричные криптографические алгоритмы DES, AES и IDEA. В главе было рассказано о приложенных NIST усилиях по замене DES, который постепенно сдавал свои позиции, на современный алгоритм, о том, как алгоритм Rijndael был отобран из пяти финалистов конкурса и был признан стандартом AES. Было сказано несколько слов о стартовавшей с начала 1990-х годов истории создания перспективного Европейского стандарта криптографического алгоритма IDEA и показаны его преимущества по сравнению с DES.

Впервые об асимметричных алгоритмах заговорили с середины 1970-х годов, когда Диффи и Хеллман опубликовали названный в их честь алгоритм обмена ключами (алгоритм Диффи-Хеллмана, или DH-алгоритм), предназначенный для безопасного обмена ключами в сетях общего пользования. Вслед за алгоритмом Диффи-Хеллмана появился алгоритм RSA, который провозгласил начало новой эры криптографии с открытым ключом. Алгоритмы и методы криптографии с открытым ключом впоследствии были реализованы в популярной криптосистеме PGP. Фундаментальное отличие криптосистем с открытым ключом от симметричных систем основано на проблеме факторизации (разложении на сомножители) очень больших целых чисел.

Метод «грубой силы» эффективен для взлома большинства криптографических алгоритмов, если в распоряжении исследователя достаточно времени для перебора всех ключей из ключевого пространства. На перебор ключей может потребоваться от нескольких минут до миллиарда лет. Наиболее часто этот метод используется для вскрытия паролей. Для подобных целей широко используются программы LOphtcrack и John the Ri pper.

Ошибки в реализации криптостойких алгоритмов или не предусмотренные разработчиками алгоритмов способы их использования способствуют повышенной уязвимости построенных на их основе криптографических систем. Так, для алгоритма Диффи-Хеллмана опасны атаки «злоумышленник посередине» (man-in-the-middle-type attacks). Сравнительно легко могут быть раскрыты пароли в формате кэш-величин LanManager (LANMAN), зашифрованные с помощью DES. К малоприятным результатам приводит использование легко вскрываемых паролей или ключевых фраз в симметричных криптосистемах. А неверное хранение секретного или личного паролей может вообще сделать бессмысленным шифрование сообщений.

Иногда для хранения информации в тайне используются обратимые или недостаточно криптостойкие алгоритмы. В главе было рассказано об уязвимости недостаточно криптостойких шифров к частотному анализу (frequency analysis), при котором для расшифровки сообщений используются частотные характеристики языка. Известны атаки, основанные на анализе длин открытого и зашифрованного текстов (ciphertext relative lengthanalysis) или анализе сходства зашифрованного и открытого текстов (similar plaintext analysis). Были рассмотрены примеры, когда разработчик пытался сохранить данные в тайне при помощи операций XOR или алгоритма кодирования Base64, и приведены простые примеры программ обратимого кодирования, основанные на этих принципах. Попутно было рассказано об алгоритмах сжатия данных как средства их защиты.

Конспект

Концепции криптографии

• Незашифрованные данные называются открытым (незашифрованным) текстом ( plaintext), а зашифрованные - зашифрованным текстом (ciphertext).

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

• Криптография с открытым ключом была изобретена Уитфилдом Диффи (Whitfield Diffie) и Мартином Хеллманом (Martin Heilman) как безопасный метод обмена секретными ключами.

Стандарты алгоритмов шифрования

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

• Стандарт шифрования данных DES (Data Encryption Standard) - наиболее известный алгоритм шифрования, используемый до сих пор на практике. Но в силу его древности следует избегать применения DES в новых разработках или для защиты особо важных данных.

• Для замены DES был разработан продвинутый стандарт шифрования AES (Advanced Encryption Standard), в котором предусмотрено использование ключей различной длины.

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

• Алгоритмы RSA и Диффи-Хеллмана (Diffie-Hellman) - два наиболее широко используемых асимметричных алгоритма в настоящее время.

«Грубая сила»

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

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

• Наиболее часто атака «грубой силы» используется для вскрытия паролей.

Неверное использование алгоритмов шифрования

• Алгоритм Диффи-Хеллмана обмена ключами уязвим к атакам типа «злоумышленник посередине» (man-in-the-middle attacks).

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

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

Любительская криптография

• Любой недостаточно криптостойкий алгоритм шифрования (подобно алгоритму, основанному на операции XOR) может быть взломан с минимальными усилиями.

• Частотный анализ (frequency analysis) - мощное средство расшифровки сообщений разумного размера, не защищенных современными криптографическими алгоритмами.

• Иногда производители пытаются сохранить информацию в тайне при помощи простых небезопасных криптоалгоритмов (как, например, Base64) или алгоритмов сжатия.

Часто задаваемые вопросы

Вопрос: Существуют ли криптографические алгоритмы, гарантирующие 100 %-ую безопасность?

Ответ: Да, существуют. OTP (One Time Pad) - единственный алгоритм, гарантирующий абсолютную безопасность при безупречной реализации. Алгоритм ОТР -это фактически шифр Вернама (Vernam), который был изобретен в компании AT&T в далеком 1917 году. Шифр Вернама (Vernam) представляет класс так называемых потоковых шифров, которые непрерывно, побитно шифруют поток данных вместо шифрования одного блока данных за другим в блочных шифрах. У алгоритма ОТР два существенных недостатка. Во-первых, для его использования необходимо сгенерировать последовательность действительно случайных чисел. Во-вторых, количество случайных чисел в последовательности должно совпадать с числом бит в шифруемом сообщении. Для работы алгоритма нужно обеспечить раздельную передачу сообщения и ключа, гарантирующую сохранность ключа в тайне. Никогда один ключ не используется дважды для шифрования другого сообщения. Если будут перехвачены два сообщения, зашифрованные одним и тем же ключом, то восстановить ключ и расшифровать сообщение очень просто. Причина, по которой алгоритм ОТР не получил широкого распространения, заключается в сложности построения датчика действительно случайных чисел (как уже об этом упоминалось) и сложности обеспечения безопасности распределенного ключа.

Вопрос: Как долго еще будет использоваться DES? Ответ: Скорее всего, из-за широкого распространения систем на основе DES алгоритм будет активно использоваться еще лет 5-10. Особенно в тех приложениях, где обеспечение безопасности зашифрованных данных не стоит на первом месте. Считается, что для некоторых приложений DES вполне достаточно, потому что средний хакер пока не обладает достаточными ресурсами для эффективного взлома алгоритма. Предполагается, что DES может использоваться как средство, затрудняющее прослушивание трафика, по крайней мере до широкого распространения протокола IPv6. DES гораздо быстрее алгоритма 3-DES и лучше приспособлен к условиям работы в виртуальных частных сетях (VPN) первых поколений, которые могут быть несовместимы снизу вверх с новым стандартом AES. В редких случаях, для обеспечения совместимости, в правительственных учреждениях будут устанавливаться новые криптосистемы, основанные на DES.

Вопрос: После нападений террористов 11 сентября на США особое значение приобрел вопрос использования террористами средств криптографии. Появились высказывания о предоставлении правительственным органам возможности расшифровки зашифрованных сообщений при помощи «потайной калитки», встроенной во все криптосистемы. Почему так нельзя сделать? Ответ: Наличие «потайной калитки» в криптографических алгоритмах, при помощи которой любой может расшифровать сообщение, - головная боль для всех пользователей криптографии. Вероятнее всего, ключи от «потайной калитки» будут храниться в одном месте, на которое тут же нацелятся хакеры. Как только хранилище ключей будет скомпрометировано, а рано или поздно это произойдет, все данные можно считать скомпрометированными. Кроме того, необходимо будет создать новую бюрократическую машину, управляющую доступом через «потайную калитку». Возможно, она будет создана по образу и подобию нынешней организации подключения подслушивающих устройств. Потребуется также создание групп надзора, следящих за соблюдением законности. Дополнительно потребовалось бы дооснастить все эксплуатируемые криптосистемы «потайной калиткой», возможно, в виде комбинации открытого ключа и ключа доверия. Реализация новых программ шифрования потребовала бы месяцы на разработку и годы на внедрение. В этих условиях усилия хакеров сосредоточатся на взломе криптографических алгоритмов при помощи ключа доверия, в лучшем случае поставив под вопрос безопасность криптосистем.

Вопрос: Почему оказалось легко взломать CSS, технологию шифрования, используемую для защиты DVD-дисков от неавторизованного корирования? Ответ: Защита от копирования DVD-дисков была легко взломана в основном из-за того, что Xing Technologies хранило свой ключ в открытом виде. Ранее уже говорилось о недопустимости этого. Данные, записываемые на DVD-Video-диск, шифровались алгоритмом CSS (Content Scrambling System - система скремблирования содержания) с использованием 40-битного ключа. Зная 40-битный ключ Xing Technologies, одни хакеры смогли атакой «грубой силы» быстро взломать ключи еще на 170 лицензий. Таким способом джинн был выпущен из бутылки, если можно так выразиться, потому что шифр внутреннего формата многих производителей оказался раскрытым. Располагая таким большим количеством ключей, другие хакеры смогли написать программу DeCSS, которая позволяла копировать с DVD-диска зашифрованные данные на другой носитель в расшифрованном виде. В конечном счете схема CSS была обречена на провал. Нельзя полагать, что никто не сможет прочитать ключ, если он размещен в миллионах DVD-проигрывателей.

Неверное использование алгоритмов шифрования | Защита от хакеров корпоративных сетей | Непредвиденные входные данные


Защита от хакеров корпоративных сетей



Новости за месяц

  • Октябрь
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс