TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
3.8 Концепция безопасности
TCP/IP успешно обслуживает открытые соединения между компьютерами локальных, региональных, а также глобальных сетей. Однако к соединениям стали предъявляться требования обеспечения безопасности.
Базовые концепции безопасности в сетевом окружении подобны аналогичным концепциям для центрального хоста:
■ Аутентификация пользователей
■ Целостность (гарантия отсутствия изменения данных)
■ Конфиденциальность (защита от нежелательного раскрытия информации)
3.8.1
Важным аспектом компьютерной безопасности является выяснение "кто есть кто". Ранее это определяли идентификатор и пароль пользователя. Аналогичным образом в поле "From:" сообщения электронной почты идентифицируется отправитель. Однако пароль может быть перехвачен любителем подслушивать в сети, и сообщение электронной почты может быть фальсифицировано.
Если речь идет о пересылке серьезных транзакций в сетях TCP/IP, то требуется способ для надежной идентификации отправителя. Процесс проверки на авторство называется аутентификацией (authentication, дословно: проверка подлинности. — Прим. пер.).
3.8.2 Технология формирования резюме сообщения
Простой, но эффективный способ технологии аутентификации основан на резюме сообщения (message digest). Как показано на рис. 3.8, такое резюме вычисляется по содержимому сообщения с помощью секретного ключа. В настоящее время наиболее распространен алгоритм Message Digest 5 (MD5), который был разработан Рональдом Ривестом (см. RFC 1321).
Рис. 3.8. Использование резюме сообщения.
Взаимное исследование (challenge handshake) иллюстрирует один из способов применения резюме сообщения. Как и при обычной аутентификации, пользователю присваивается пароль, регистрируемый на хосте. Однако этот пароль уже не пересылается по сети. Вместо этого настольная система выполняет вычисление по алгоритму MD5, используя пароль и секретный ключ (ключ шифрования. — Прим. пер.). Как показано на рис. 3.9:
1. Пользователь посылает на хост свой идентификатор.
2. Хост посылает пользователю сообщение со случайным содержимым.
3. Хост и настольная система пользователя выполняют вычисления по алгоритму MD5 для сообщения от хоста и секретного пароля пользователя.
4. Система пользователя отсылает ответ хосту.
5. Хост сравнивает ответ. Если ответ верен, пользователь аутентифицируется.
Рис. 3.9. Использование MD5 при взаимном исследовании
3.8.3 Целостность сообщения
MD5 и совместно используемые секретные ключи можно применять для определения изменений в данных при их пересылке по сети. Рассмотрим рис. 3.10:
1. Вычисление MD5 выполняется над данными с помощью секретного ключа.
2. Данные и полученное сообщение посылаются партнеру.
3. Партнер выполняет вычисление MD5 над полученными данными и известным секретным ключом.
4. Партнер сравнивает полученный результат с соответствующим резюме сообщения. При совпадении считается, что данные не изменились.
Отметим, что, не зная секретного ключа, подглядывающий за пересылаемыми данными злоумышленник не сможет фальсифицировать или изменить эти данные. Такой механизм применяется в системах защищенной электронной почты и безопасных от вторжения транзакциях клиент/сервер.
Рис. 3.10. Защита пересылаемых данных с помощью резюме сообщения, вычисленного по MD5
3.8.4 Конфиденциальность с помощью симметричного шифрования
Для предотвращения чтения и нежелательного использования пересылаемых данных злоумышленником (snooper) данные должны быть зашифрованы. Классическим способом является согласование секретных ключей между отправителем и получателем. Часто при пересылке добавляется резюме сообщения, и получатель может проверить, что данные получены в том виде, в котором они были отправлены. Как показано на рис. 3.11, после шифрования данные выглядят как бессмысленные строки.
Рис. 3.11. Симметричное шифрование
Этот традиционный метод шифрования называется симметричным. Симметричное шифрование предполагает использование одного и того же ключа как для шифрования, так и для последующей расшифровки. Обе стороны знают ключ и должны сохранять его в тайне. Недостатки такого способа следующие:
■ В целях большей безопасности каждой взаимодействующей паре приходится применять собственный секретный ключ.
■ Изменение ключа связано с большими трудностями.
3.8.5 Асимметричный общедоступный ключ шифрования
Методы асимметричного шифрования известны достаточно давно (основные идеи были заложены в работах Диффи, Хеллмана и Меркля). При таком методе для шифрования и расшифровки используются различные ключи.
Рассмотрим шкатулку с двумя различными ключами (А и Б), как показано на рис. 3.12:
■ Если шкатулка закрывается ключом А, то открывается ключом Б.
■ Если шкатулка закрывается ключом Б, то открывается ключом А.