|
Рецензия на книгу
«Защита информации в компьютерных системах и сетях»
Опубликована в журнале
"Компьютерра"
№34 от 24 августа 1999 г.
Автор рецензии - М.Отставнов, редактор "Компьютерры", консультант по финансовым информационным технологиям, заведующий общественной лабораторией гражданской и финансовой криптографии при Институте коммерческой инженерии, автор специальных и популярных работ.
Периодически меня спрашивают о книжках "про криптографию".
Я отвечаю, поинтересовавшись специальностью спрашивающего: если это
математик, рекомендую начать с Коблица и плавно переходить к Шнайеру, а
если программист, советую читать Шнайера, а затем обращаться к Коблицу.
Имеются в виду книги [ [1] и [2]].
Tertium non datur, коли у вас серьезные намерения. Всех остальных отправляю
читать Фана [3] или Кана [4], в
зависимости от темперамента. Когда же речь заходит о
литературе на русском, ответить значительно труднее. "Просто
интересующимся" можно, конечно, посоветовать увлекательную и легко
читающуюся книгу Жельникова [5], тем же, кому хочется
заглянуть глубже, поневоле приходится перерывать целую кучу литературы,
ведь с печатными продуктами типа "все-в-одном" дело обстоит
совсем туго.
Переданная в редакцию зеленоградской компанией "Анкад" книга
Романца и др., вышедшая из печати в начале лета, - весьма серьезная заявка
на некую "мини-энциклопедию", покрывающую все основные
криптографические темы. Я не оговорился. Несмотря на
название книги, весь домен дисциплин и технологий, занятых обеспечением
защиты информации (включая защиту от вирусно-троянских атак и исключая
защиту от лишь упомянутых утечек через радиоизлучения), кратко
обрисован в первой главе. Из следующих девяти глав семь посвящены
исключительно криптографии, одна (гл. 8) - защите от удаленных атак
по Internet, включая криптографические методы защиты, и одна (гл. 9) -
защите информации в электронных платежных системах (фактически, защите
расчетной и персональной информации в карточных расчетных системах) -
также включая криптометоды, разумеется.
Итак, книга о криптозащите информации. От исторических шифров замены и
перестановки через современные симметричные криптосистемы авторы проводят
читателя к асимметричным шифрам, криптографической идентификации и
цифровой подписи. Тезаурус основных криптографических примитивов и
протоколов, таким образом, покрыт полностью. В отдельной главе (гл. 7)
обсуждаются архитектуры управления ключами.
Из симметричных криптоалгоритмов (гл. 3) обсуждаются блочные шифры
и режимы их использования. Поточные шифры упоминаются, но
особо не обсуждаются, и это, на мой взгляд, один из недостатков книги,
особенно если учитывать все возрастающий интерес широкой публики к
Internet-телефонии и шифрованию прочих данных ярко выраженной поточной
природы. Также не слишком радует отсутствие информации о
преемниках DES в качестве американского стандарта (в "финал"
конкурса, проводимого NIST, вышли такие интересные разработки, как MARS,
RC6, Rijndael, Serpent и Twofish) и других широко используемых симметричных
алгоритмах (например, Blowfish и CAST). Те же шифры, которые
обсуждаются - DES, IDEA и "ГОСТ 28147-89", - расписаны
достаточно подробно.
Но, к сожалению, теория в этой главе явно отступила перед прагматикой
в слишком уж глубокий тыл. Например, понятие так называемых файстелевых
сетей даже не упоминается при обсуждении DES, без чего
последовательность перестановок и подстановок, составляющая его суть,
выглядит скорее неким магическим ритуалом, нежели логически
оправданным алгоритмом. Авторы отошли от принятого в практике
преподавания криптологии (а книга, как я узнал из предисловия, построена
на основе курса лекций в МИЭТ) принципа параллельного изложения
криптографического и криптаналитического материала. Так, история атак на
DES и оттачивания методов дифференциального и линейного криптанализа
полностью опущена, а ведь именно устойчивость к таким атакам является на
сегодня одним из основных критериев стойкости блочного шифра.
Это упущение оборачивается жестокой методической "подножкой"
читателю; на стр. 122 он видит фразу: "Каждый бит шифртекста
зависит от значений всех битов соответствующего блока открытого
текста..." и надолго, полагаю, застывает в недоумении. Эта фраза
непонятна, более того, в буквальном прочтении она просто ложна, так
как получается, что
Ekj(M) = Ekj(M Е 2j-1) Е (2n-1),
где n - длина блока для любого ключа kj и для любого j от единицы до n.
Это абсурдно, поскольку тогда:
Ekj(M Е2l-1 Е2k-1) = Ekj(M)
для любых j, k от единицы до n, то есть на всем множестве открытых
текстов значение такого "шифра" с заданным ключом будет
принимать только два значения. Во всяком случае, это никак не вяжется с
продолжением той же фразы: "...и никакие два блока открытого
текста не могут быть представлены одним блоком шифртекста".
Разумеется, криптограф скорее всего просто не заметит ошибки,
бессознательно восстановив контекст и поняв, что речь идет о
вероятностной зависимости, которая обнаруживается на анализе
массива шифртекстов с известными открытыми текстами, и о так называемом
эффекте лавины, который лучше всего описывается именно в ходе
изложения метода дифференциального криптанализа. <
p>Шифрование с открытым ключом (гл. 4) обсуждается на примере RSA,
Polig-Hellman и ElGamal, однонаправленные хэш-функции (.6.2) - на
примере SHA и "ГОСТ Р 34.11-94", цифровая подпись (.6.3) -
на примере широко используемых RSA, ElGamal и российского "ГОСТ Р
34.10-94".
Книга снабжена приложением с компактным (18 стр.) изложением
элементов теории чисел, используемых в криптографии, и не менее
компактной (сотня наименований) библиографией, но, к сожалению,
лишена предметного указателя и указателя на онлайновые ресурсы, в том
числе на криптографические библиотеки и программы, распространяемые в
виде исходных текстов, такие как SSLea, PGP или FreeS/WAN. Последнее
существенно, так как книга адресована в том числе и разработчикам
компьютерных систем и сетей, которые, безусловно, должны читать и код, а
не только о коде.
Несмотря на все замечания, которые возникли у меня по ходу знакомства
с книгой, я уверенно рекомендую рецензируемый труд читателю,
интересующемуся криптологией и криптографическими технологиями.
Расширьте свою эрудицию, дополнив это чтение чтением
Зиммерманна [6] и Жельникова. Если захотите узнать
больше, учите английский язык и переходите от Коблица к Шнайеру и
обратно...
1 - [1] Neal Koblitz. A Course in Number Theory
and Cryptography, N.Y.: 1994. 2 - [2] Bruce Schneier.
Applied Cryptography, N.Y.: 1996. 3 - [3] RSA's
FAQ About Today's Cryptography, 4th ed., см. www.rsa.com/faq.
4 - [4] David Kahn, The Codebreakers, N.Y.: 1996.
5 - [5] Владимир Жельников. Криптография от папируса до
компьютера. М.: 1996. 6 - [6] Филип Зиммерманн. PGP:
концепция безопасности и уязвимые места. // "Компьютерра",
#48 [225], 1997.
|