В своем бестселлере Вильям Столлингс предлагает обзор основ криптографии и практики ее использования для защиты сетей. Тщательно переработанное с тем, чтобы представленный в книге материал был организован оптимальным образом как с точки зрения его использования преподавателями, так и с точки зрения самостоятельного изучения предмета, второе издание книги включает рассмотрение вопросов безопасности на системном уровне, в частности принципы разработки блочных шифр
ов, алгоритмов шифрования с использованием открытых ключей, описание основных средств сетевой защиты и защиты данных в Internet, вопросы защиты от вирусов и несанкционированного доступа к данным, защиты от сетевых атак, использования брандмауэров и высоконадежных систем, а также соответствующих приложений, включая Kerberos, X.509v3, PGP, S/MIME, IP security, SSL/TLS и SET.Книга удостоена награды TEXTY как лучшая из книг по компьютерным наукам и программированию в 1999 году.
Предисловие
- Эта связь, если позволите предположить, сэр, в действительности может быть более прочной, чем кажется на первый взгляд. Кто-то, похоже, пытается использовать эффект бабочки. Если вы позволите...
- Но какое это может иметь значение сейчас, Дживз? Неужели вы не понимаете, что семейное счастье мистера Литтла висит на волоске?
- Связи имеют значение всегда, сэр.
П. Г. Вудхаус (P. G. Wodehouse). Very Good, Jeeves!
Сейчас, когда повсюду используются электронные средства связи, в эпоху вирусов и хакеров, электронного подслушивания и электронного мошенничества, вопросы безопасности, без сомнения, не могут оставаться чем-то второстепенным. Жизненная важность темы этой книги определяется двумя ясно обозначенными сегодня тенденциями. Во-первых, вследствие лавинообразного распространения компьютерных систем и их взаимодействия посредством сетей наблюдается все большая зависимость как организаций, так и отдельных людей
от информации, пересылаемой по сети и хранящейся в таких системах. Это, в свою очередь, заставляет осознать необходимость защиты данных и ресурсов от возможности несанкционированного доступа, важность использования специальных средств для обеспечения достоверности получаемых данных и сообщений, а также защиты систем от сетевых атак. Во-вторых, криптографию и защиту сетей сегодня уже можно рассматривать как вполне сформировавшиеся дисциплины, на основе которых могут разрабатываться и уже созданы реальные з
аконченные приложения, обеспечивающие сетевую защиту.
Цель книги
Эта книга ставит своей целью предложить систематический обзор теоретических основ криптографии и ее практических приложений в области защиты сетей. В первых двух частях книги основное внимание уделяется возможностям защиты сетей, вследствие чего материал соответствующих глав представляет собой обзор основных из применяемых сегодня технологий криптографии и защиты сетей, в рамках которого предлагаются и базовые теоретические результаты, служащие основой этих технологий. Последующие части книги посвящены
практическому использованию средств защиты сетей, а именно реальным приложениям, применяемым для обеспечения сетевой защиты.
Тема этой книги, а значит, и материал всей книги в целом, базируется на ряде важных дисциплин. В частности, оценить важность ряда представленных в этой книге методов невозможно без понимания основ теории чисел и некоторых принципов теории вероятностей. Тем не менее, автором была предпринята попытка сделать книгу самодостаточной. Книга не только содержит необходимые формулировки основных математических результатов, требующихся для ее понимания, но и предоставляет читателю объяснения смысла этих результа
тов на интуитивном уровне. Такой вспомогательный материал предлагается по мере необходимости, что помогает читателю убедиться в обязательности его освоения.
Кому адресована книга
Книга предназначена как для академической, так и для профессиональной аудитории. Как учебник эта книга может выступать в качестве основы курса по криптографии и защите сетей для студентов, изучающих информатику, вычислительную технику или электротехнику. Книга также может служить базовым справочным пособием и подходит для самостоятельного изучения предмета.
Структура книги
Книга состоит из четырех частей.
Традиционное шифрование. Подробное рассмотрение алгоритмов традиционного шифрования и принципов их построения, включая использование традиционного шифрования как средства обеспечения конфиденциальности.
Шифрование с открытым ключом и функции хэширования. Подробное описание алгоритмов шифрования с открытым ключом и принципов их построения. Здесь же рассматривается использование кодов аутентификации сообщений и функций хэширования, а также цифровых подписей и сертификатов открытых ключей.
Практика сетевой защиты. Речь идет об основных современных средствах защиты сетей и обеспечивающих такую защиту приложениях, в том числе о Kerberos, сертификатах X.509v3, PGP, S/MIME, IP Security, SSL/TLS и SET.
Защита систем. В заключительной части поднимаются вопросы защиты системного уровня, включая проблемы защиты от нарушителей и вирусов, вопросы использования брандмауэров и высоконадежных систем.
Более подробное описание структуры материала книги по главам вы найдете в конце главы 1. Кроме того, в книге имеется достаточно обширный словарь терминов, список используемых аббревиатур и список литературы. В конце многих глав читателю предлагаются упражнения и проблемы для самостоятельного анализа, а также ссылки на другие источники информации для дальнейшего изучения материала.
Internet-поддержка для преподавателей и студентов
В Internet имеется соответствующая этой книге Web-страница, созданная в помощь преподавателям и студентам. Здесь вы найдете ссылки на другие полезные Web-страницы, оригиналы рисунков книги в формате PDF (Adobe Acrobat) и информацию о том, как добавить свой адрес в соответствующий книге список рассылки Internet. Адрес страницы http://www.shore.net/~ws/Security2e.hlml. Соответствующий книге список рассылки предназначен для того, чтобы использующие книгу преподаватели могли обмениваться информаци
ей, пожеланиями и задавать друг другу и автору книги вопросы по освещаемой в книге теме. Если в книге обнаружатся опечатки или ошибки, список соответствующих исправлений будет размещен по адресу http://www.shore.net/~ws.
Проекты практических работ по криптографии и защите сетей
Многие преподаватели считают важным компонентом курсов по криптографии и защите сетей организацию занятий по применению полученных студентами теоретических знаний на практике. Эта книга предлагает совершенно оригинальную методику дополнения теоретических знаний практическими. Рекомендации преподавателям содержат не только инструкции о том, как разработать план и организовать такие практические занятия, но и вполне готовые планы практических заданий, темы которых охватывают широкий диапазон освещенных в
книге вопросов. Среди предлагаемых проектов стоит назвать следующие.
Исследовательские проекты. Задания для учащихся, предлагающие провести исследование по конкретным вопросам в Internet и подготовить соответствующий обзор.
Проекты по программированию. Задания по программированию, для выполнения которых можно использовать любой подходящий язык программирования на любой аппаратной платформе, практически реализующие решения конкретных проблем.
Задания по изучению/реферированию литературы. Списки опубликованных статей, для каждой главы в отдельности, которые можно предложить учащимся для реферирования с целью углубленного изучения предмета.
Подробности вы найдете в приложении A.
Что нового во втором издании
За четыре года, прошедших со времени выхода первого издания книги, в области криптографии и защиты сетей появился ряд новых идей, вызвавших соответствующие изменения. В этом новом издании автор постарался учесть все такие изменения, чтобы книга по-прежнему представляла собой широкий и достаточно полный обзор по рассматриваемой теме. Перед тем как вносить изменения в текст, первое издание этой книги было предложено на рецензию ряду профессоров, специализирующихся на обучении данному предмету. В результа
те во многих случаях изложение материала стало более кратким и ясным, а иллюстрации - более совершенными. Был добавлен также ряд новых, прошедших "испытание временем" практических задач по рассматриваемой теме.
Самое очевидное изменение отражено в самом заглавии книги - теперь она называется Криптография и защита сетей, подчеркивая главенствующую роль алгоритмов криптографии в защите сетей. Компоновка материала книги также претерпела изменения с тем, чтобы она стала более логичной как с точки зрения преподавания, так и с точки зрения самостоятельного изучения материала.
Кроме чисто организационных преобразований, призванных улучшить педагогический аспект книги и доступность ее материала читателю, был внесен ряд изменений и по сути.
Добавлено описание блочных шифров. Три раздела, посвященных структуре блочных шифров, принципам разработки блочных шифров и отличительным особенностям новейших, самых совершенных шифров этого типа, значительно усилили материал по традиционным методам шифрования.
Включен анализ ряда дополнительных алгоритмов традиционного шифрования. Вы получите представление о новейших алгоритмах, используемых во многих коммерческих программных продуктах и признанных стандартами в Internet, включая такие алгоритмы, как Blowfish, RC5 и CAST-128.
Добавлено описание методов криптографии, основанных на теории эллиптических кривых. Такие методы шифрования становятся важной альтернативой RSA и алгоритма Диффи-Хеллмана в области шифрования с открытым ключом.
Расширен обзор результатов теории чисел. Этот материал занимает теперь целую главу и включает ряд примеров, раскрывающих суть этой абстрактной темы.
Добавлена информация о хэш-кодах и их применении для создания кодов аутентичности сообщений. Вашему вниманию предложен обзор принципов разработки и защиты функций хэширования и кодов аутентичности сообщений.
Включен обзор ряда дополнительных алгоритмов хэширования и вычисления кодов аутентичности сообщений. Книга теперь содержит анализ новейших алгоритмов, используемых многими коммерческими программными продуктами и признанных стандартами в Internet, включая такие алгоритмы, как RIPEMD-160 и HMAC.
Расширено описание сертификатов X.509 и добавлено описание X.509v3. Сертификаты X.509 открытых ключей, в частности версии 3, сегодня предлагаются многими современными программными продуктами и признаны стандартами в Internet.
Добавлены сведения о S/MIME. S/MIME на сегодня является коммерческим стандартом безопасного обмена электронными сообщениями.
Включена глава о защите IP. IPSec представляет собой набор стандартов для создания защищенных виртуальных частных сетей и защищенного сквозного обмена данными в Internet.
Добавлена глава о защите Web. Защита Web представляет собой один из важнейших разделов сетевой безопасности, стимулировавший начало многих новых исследований. В этой главе рассмотрены следующие два главных стандарта защиты Web.
Протокол SSL (Secure Socket Layer - протокол защищенных сокетов) и протокол TLS (Transport Layer Security - протокол защиты транспортного уровня). В области защиты Web протокол SSL является сегодня стандартом де-факто, поддерживаемым практически всеми броузерами и серверами, но в последнее время все более широкое признание как стандарт Internet завоевывает TLS, постепенно вытесняющий SSL.
Протокол SET (Secure Electronic Transactions - протокол защищенных электронных транзакций). Рост объемов продаж через Internet свидетельствует о все большей популярности стандарта SET как стандарта безопасности коммерческих сделок.
Добавлена глава о брандмауэрах. Брандмауэры служат для защиты корпоративных сетей, подключенных к Internet.
Предложен дополнительный материал в помощь преподавателям. Руководство для преподавателей, как и прежде, включает решения всех предлагаемых в книге задач. Кроме того, включены ряд примеров практических заданий для учащихся и рекомендации по разработке таких заданий, как уже упоминалось выше.
Другие изменения.
Добавлен новый раздел о бент-функциях, которые используются при построении S-матриц (матриц кодирования) в алгоритмах традиционного шифрования.
В списки рекомендуемой литературы почти всех глав добавлены ссылки на Web-страницы, содержащие информацию, которая может оказаться полезной для лучшего понимания изучаемого материала.
Добавлены десятки новых задач для самостоятельного решения.
Благодарности
В этой книге не остались без внимания многочисленные рекомендации экспертов, специалистов в соответствующих областях знаний, потративших массу своего драгоценного времени на рецензирование книги. Среди тех, кто критически прочитал весь или почти весь текст первого издания, Шивакумар Састри (Shivakumar Sastry) из Rockwell Automation, Алан Шерман (Alan Sherman) из Университета округа Балтимор штата Мэриленд, Том Данигэн (Tom Dunigan) из Университета штата Теннеси, Дэн Бонех (Dan Boneh) из Станфорд
ского университета и Сашил Джаджодиа (Sushil Jajodia) из Университета Джорджа Мэйсона.
Кроме того, я чрезвычайно признателен за критические рекомендации таких гуру в своих областях, как Рон Райвест (Ron Rivest) из МТИ (RC5 и MD5), Тим Мэтьюс (Tim Mathews) из RSA Data Security (S/MIME), Брюс Шнайер (Bruce Schneier) из Counterpane Systems (Blowfish), Карлайл Адамс (Carlisle Adams) из Entrust Technologies (CAST и бент-функции), Альфред Менезес (Alfred Menezes) из Университета Ватерлоо (криптография на основе теории эллиптических кривых), Терри Риттер из Ritter
Software Engineering (бент-функции), Вильям Дж. Саттон (William G. Sutton), редактор и издатель журнала Cryptogram (классические методы шифрования), Авил Рубин (Aviel Rubin) из AT&T Labs (теория чисел), Барт Пренил (Bart Preneel) из Католического университета г. Левен (Katholieke Universiteit Leuven) (RIPEMD-160), Майкл Марковиц (Michael Markowitz) из Information Securitv Corporation (SHA и DSS), Сюдзя Лай (Xuejia Lai) из R3 Security Engineering AG (IDEA), Дон Дэвис (D
on Davis) из Openvision Technologies (Kerberos), Стив Кент (Steve Kent) (X.509), Фил Циммерман (Phil Zimmermann) из Boulder Software Engineering (PGP) и Эд Шейфер (Ed Schaеfer) из Университета Санта-Клара (упрощенный DES).
При составлении руководства для преподавателей свои проекты представили следующие специалисты: Хеннинг Шульцринне (Henning Schulzrinne) из Университета округа Колумбия, Сетин Кайя Кок (Cetin Kaya Koc) из Университета штата Орегон и Дэвид Бэленсон (David Balenson) из Trusted Information Systems и Университета Джорджа Вашингтона.
Я хотел бы поблагодарить также тех, кто предложил включить в книгу свои задачи для самостоятельного решения. Это Люк О▓Коннор (Luke O'Connor), Джозеф Касмисс (Joseph Kusmiss) из MITRE, Карл Элиссон (Carl Ellison) из Stratus, Шунмугавел Раджатинам (Shunmugavel Rajarathinam) и Джозеф Вискоц (Jozef Vyskoc). Предложенные ими задачи достойны самого Шерлока Холмса.
Имея таких квалифицированных помощников, мне самому делать почти ничего не пришлось. Тем не менее, я с гордостью признаюсь, что все эпиграфы и цитаты для книги я подобрал сам, без всякой помощи.