■ В целях большей безопасности каждой взаимодействующей паре приходится применять собственный секретный ключ.
■ Изменение ключа связано с большими трудностями.
3.8.5 Асимметричный общедоступный ключ шифрования
Методы асимметричного шифрования известны достаточно давно (основные идеи были заложены в работах Диффи, Хеллмана и Меркля). При таком методе для шифрования и расшифровки используются различные ключи.
Рассмотрим шкатулку с двумя различными ключами (А и Б), как показано на рис. 3.12:
■ Если шкатулка закрывается ключом А, то открывается ключом Б.
■ Если шкатулка закрывается ключом Б, то открывается ключом А.
Рис. 3.12. Использование различных ключей для открытия и закрытия
Асимметричное шифрование называется также шифрованием по общедоступным ключам (public key), поскольку позволяет управлять ключами более согласованным способом. Ключ А может быть общедоступным. Его значение можно открыть для друзей или даже хранить в одном из доступных файлов.
■ Все партнеры могут применять общедоступный ключ для шифрования пересылаемых данных.
■ Однако только вы будете знать личный ключ, и никто иной не сможет расшифровать посылаемые вам данные.
Схема шифрования по общедоступным/личным ключам основана на том, что очень трудно подобрать два числа с большими значениями (количество проверок при этом выражается степенной функцией), чтобы получить значение ключей шифрования. Лучшим специалистам потребуется несколько месяцев, чтобы расшифровать данные с 129-разрядным ключом. Однако скорость работы компьютеров постоянно увеличивается, и вряд ли можно ожидать, что 1024-разрядные ключи останутся секретными по истечении еще нескольких лет.
Обслуживание общедоступных/личных ключей гораздо проще, чем симметричных. Однако нужна уверенность, что опубликованный общедоступный ключ "Jane Jone's Public Key" реально принадлежит нужной Джейн Джон, а не другому человеку с тем же именем.
К сожалению, известные сегодня методы асимметричного шифрования достаточно медленны, поэтому наиболее предпочтительна комбинация симметричных и асимметричных методов.
3.8.6 Комбинированное шифрование
Комбинированное шифрование реализуется следующим образом:
■ Выбирается случайный симметричный ключ.
■ По этому ключу шифруются данные.
■ Случайный ключ шифруется с помощью общедоступного ключа шифрования получателя и включается в пересылаемое сообщение (это похоже на помещение нового случайного ключа в контейнер, который будет закрыт общедоступным ключом шифрования получателя).
■ Получатель расшифровывает временный случайный ключ и далее использует его для расшифровки данных.
Как показано на рис. 3.13, общедоступный ключ получателя обеспечивает защитную оболочку вокруг случайного ключа. Открыть эту оболочку сможет только получатель сообщения.
Рис. 3.13. Вложенный в зашифрованное сообщение ключ
В следующих главах мы рассмотрим реализацию этих методов в приложениях и коммуникациях TCP/IP. Наиболее впечатляющий результат рассмотрен в главе 24, где описываются аутентификация и шифрование на уровне IP как для классической версии 4 протокола IP, так и для новой версии 6 — IP Next Generation (следующее поколение IP).
Глава 4
Технологии физического уровня и уровня связи данных
За последние несколько лет было предложено беспрецедентное количество новых технологий для локальных и региональных сетей, быстро утвердившихся на компьютерном рынке. Произошел огромный скачок от технологий носителей на витых парах и волоконной оптики — скачок, который никто не мог предвидеть. Сети ISDN, Frame Relay, T1, Fractional T1, T3, волоконно-оптические линии SONET, SMDS, новые кабельные соединители и технология ATM обеспечивают связь с обширными территориями, которая становится все быстрее и дешевле.
Организация IETF быстро реагирует на каждую новую технологию, создавая спецификацию для работы с IP в новом носителе и для других протоколов. Следом за ними разработчики маршрутизаторов создают аппаратные интерфейсы и драйверы, дающие пользователям возможность ощутить все преимущества новых технологий.
Работа IETF видна по большой серии RFC, в том числе:
The Point-to-Point Protocol (РРР) for the Transmission of Multiprotocol Datagrams over Point-to-Point Links (Протокол РРР для пересылки многопротокольных датаграмм по соединениям "точка-точка")
Standard for the transmission of IP datagrams over IEEE 802 networks (Стандарт для пересылки датаграмм IP по сетям IEEE 802)
Transmission of IP and ARP over FDDI Networks (Пересылка IP и ARP по сетям FDDI)
Classical IP and ARP over ATM (Классические пересылки IP и ARP по сетям ATM)
4.2 Функции физического уровня, управление доступом к физическому носителю и уровень связи данных
В этой главе мы рассмотрим работу IP поверх различных технологий нижнего уровня. Однако сначала обратимся к происходящим на этих уровнях событиям (см. рис. 4.1).
Рис. 4.1. Функции нижних уровней
Физический уровень определяет кабели, соединители и электрические характеристики носителя. Правила представления логических единиц и нулей в носителе описываются на физическом уровне.
Пересылаемые данные для сохранения их смысла пакетируются в кадры (некоторые авторы называют такие элементы пакетами). Кадр переносит информацию по отдельной связи. Для достижения места (точки) назначения датаграмма IP может перемещаться по нескольких связям.
Описание формата кадра принадлежит уровню связи данных. Формат кадра различается в разных технологиях нижнего уровня, используемых для создания связи (например, линии Т1, цепи Frame Relay или локальные сети Ethernet). Каждый кадр имеет заголовок, содержащий сведения, необходимые для его доставки по связи. Формат заголовка зависит от применяемой технологии.
Все сетевые технологии можно разделить на четыре категории:
1. Связи "точка-точка" в региональных сетях
2. Локальные сети
3. Службы доставки пакетов региональных сетей
4. Службы коммутации ячеек
Для каждой технологии необходим механизм, который:
■ идентифицирует место назначения, когда один интерфейс обслуживает несколько систем (например, интерфейс локальных сетей)
■ выявляет ошибки при пересылке данных
На сегодняшний день многопротокольным окружением стали как локальные, так и региональные сети. Как показано на рис. 4.2, связи часто совместно используются несколькими протоколами (например, TCP/IP, Novell IPX/SPX, DECnet или Vines); эти же связи применяются при перенаправлении трафика. Многопротокольные хосты и маршрутизаторы должны иметь возможность сортировки различных типов трафика и, следовательно, иметь механизмы для:
■ идентификации типа протокола для PDU, используемого в каждом кадре.
Рис. 4.2. Несколько протоколов совместно используют один носитель.
Определение типа протокола представляется не очень сложной работой. Нужно иметь стандартный список протоколов, присвоить каждому из них уникальный номер и поместить такой номер в одно из полей заголовка кадра.
Однако проблема в том, что для описания типа протокола существует несколько стандартов, каждый из которых определяет собственный подход к идентификации полей и присвоенных протоколам номеров. В этой главе мы познакомимся с различными форматами, используемыми в наиболее распространенных технологиях пересылки данных.
4.4. Извлечение данных из пакетов
В соревнованиях по многоборью спортсмены сначала преодолевают один из участков вплавь, далее пересаживаются на велосипед и т.д. Протокол IP работает подобным же образом: датаграмма перемещается из одной среды передачи в другую (из одного носителя в другой), пока не достигнет пункта назначения.
Перед тем как датаграмма будет передана по сетевой связи, она заключается в соответствующий этой связи кадр. После получения кадра маршрутизатор (см. рис. 4.3):
■ удаляет обрамление кадра и извлекает датаграмму
■ анализирует IP-адрес назначения датаграммы и выбирает следующий носитель для дальнейшей пересылки
■ заключает датаграмму в новый кадр (пакетирует ее) и передает по следующей связи, направляя ее далее по маршруту
Рис. 4.3. Извлечение данных из пакета
Перейдем к более детальному описанию и обсудим способы пакетирования данных для различного типа сетевых технологий. Начнем со связей "точка-точка".