Ассиметричное шифрование. SSL-тунелирование
Ассиметричное шифрование(Криптография с открытым ключом ) - асимметричная схема, в которой применяются пары ключей: открытый ключ(public key), который зашифровывает данные, и соответствующий ему закрытый ключ(private key), который их расшифровывает. Вы распространяете свой открытый ключ по всему свету, в то время как закрытый держите в тайне. Любой человек с копией вашего открытого ключа может зашифровать информацию, которую только вы сможете прочитать. Кто угодно. Даже люди, с которыми вы прежде никогда не встречались.
Алгоритмы асимметричного шифрования, называемые также алгоритмами с открытымключом. Шифрование с открытым ключом является асимметричным, поскольку использует два различных ключа для шифрования и дешифрования.
Также необходимо создать такие механизмы, при использовании которых невозможно было бы подменить кого-либо из участников, т.е. нужна цифровая подпись.
Два ключа, используемые при шифровании с открытым ключом, называются открытымключом и закрытым ключом. Закрытый ключ держится в секрете.
Алгоритм шифрования с открытым ключом уязвим для лобовой атаки. Защита от этого стандартная: использовать большие ключи.
Другая форма атаки состоит в том, чтобы найти способ вычисления закрытого ключа, зная открытый ключ.
Шифрование с открытым ключом состоит из следующих шагов:
1. Пользователь В создает пару ключей KUb и KRb, используемых для шифрования и дешифрования передаваемых сообщений.
2. Пользователь В делает доступным некоторым надежным способом свой ключ шифрования, т.е. открытый ключKUb. Составляющий пару закрытый ключ KRb держится в секрете.
3. Если А хочет послать сообщение В, он шифрует сообщение, используя открытый ключ В KUb .
4. Когда В получает сообщение, он дешифрует его, используя свой закрытыйключ KRb. Никто другой не сможет дешифровать сообщение, так как этот закрытыйключзнает только В.
VPN,протокол L2TP
Virtual Private Network(VPN) на русский язык можно перевести как
Виртуальная Частная Сеть.
Этим термином обозначается технология, позволяющая использовать
инфраструктуру сетей общего пользования для создания частных
сетей, приватность которых обеспечивается при помощи протоколов
туннелирования и процедур обеспечения секретности.
Прежде чем продолжать описание этой технологии, хочу сразу
пояснить почему она появилась и где используется.
До создания VPN, если , например, какая-то организация, будь то
государственное учреждение или представитель бизнеса,хотела
передавать данные между своими подразделениями в разных городах и
при этом обеспечить их конфиденциальность,не было другого выхода,
кроме как взять в аренду у телефонной компании выделенную линию.
Очевидно, что стоило это не малых денег. С появлением VPN все
координально изменилось - теперь появилась возможность передавать
важную информацию по сетям общего пользования практически так же
безопасно, как и по выделенной линии, но за гораздо меньшие
деньги. (Справедливости ради, стоит отметить, что многие эксперты
по безопасности все же считают, что выделенная линия и по сей день
остается наиболее надежным способом передачи конфиденциальной
информации.)
Второй пример практически не мозможно реализовать средствами не
использующими VPN-технологии. Представьте себе,что ввиду
особенностей вашего бизнеса, вы вынужденны часто ездить в
командировки по всеми миру. Представим что ваша задача - заключение
договоров на поставку какого-либо оборудования в кротчайшие сроки,
и вам просто необходимо в реальном времени отслеживать наличие
товаров на ваших складах. Как это сделать? Конечно можно посадить
несколько человек на телефон и постоянно звонить им, но ,во-
первых, это не безопасной способ - ваши конкуренты будут в курсе
всех ваших поставок, а ,во-вторых, это достаточно дорого. Но есть
способ лучше, в практически в любой стране не сложно найти
интернет. Вы можете подключиться к интернет и с помощью VPN зайти
на ваш сервер базы данных,на котором храниться все информация о
товарах на складах.
Как вы видите, преимущество VPN очевидны, и потому не удивительно,
что в последнее время эти технологии получают все больше
распространение.
2.Разные типы VPN.
VPN подразделяют на три группы : trusted(доверенные) VPNs, secure
(безопасные) VPNs, hybrid(гибридные) VPNs.
Когда Интенет еще не был таким большим и универсальным, многие
компании брали в аренду у провайдера часть его сети. Провайдер же
предоставлял клиентам возможность использовать часть своей сети
так, как если бы она полность принадлежала клиенту: копания применяла свою политику безопасности, использовала свои IP адреса
и т.д.(хотя достаточно часто провайдеры предоставляли клиентам
помощь в организации всего этого). И хотя сданные в аренду разным
компаниям сети могли использовать одно и то же сетевое
оборудование (например коммутаторы), провайдер гарантировал, что
его клиенты не имеют доступ к сетям друг друга. Очевидно, что
такие сети строились при полном доверии к провайдеру, отсюда и их
название.
С течением времени, Интернет завоевывал все большую популярность у
корпоративных пользователей. И, учитывая, что trusted VPN не
обеспечивает настоящей кофиденциальности данных производители
начали создавать протоколы, которые позволяют шифровать данные на
"краю" локальной сети и на удаленном узле, создавая таким образом
так называемый "тунель" между локальной сетью и удаленным узлом
(или другой сетью). Учитывая то, что весь трафик шифруется, даже
если злоумышленник сможет перехватить данные, он не сможет их
прочесть, и если он попробует изменить данные - об это станет
сразу же известно принимающей стороне. Таким образом
осуществляестя действительно защищенное соединение.Все VPN,
использующие шифрование,называются secure VPN.
Очевидно, что trusted VPN и secure VPN можно использовать
одновременно, такие сети называются hybrid VPN.
В этой статье я рассмотрю некоторые технологии, применяемые для
создания secure VPN.
3.Протоколы, используемые для создания secure VPN.
С середины 90-х две компании развивали свои собственные
(проприетарные) VPN-протоколы: Microsoft PPTP и Cisco L2F.
В дальнейшем эти протоколы обьединили в один, так появился
протокол L2TP, который затем стал открытым стандартом.
Но по ряду причин, многие и по сей день используют протокол PPTP,
причем в реализации самой Microsoft, что отрицательно сказывается
на безопасности VPN соединении. Но об этом позже, а сейчас я в
кратце расскажу о протоколах PPTP и L2TP.
3.a Протокол PPTP.
Point to Point Tunneling Protocol (PPTP) - тунельный протокол типа
точка-точка - был создан для создания secure VPN по общедоступной
TCP/IP сети с помощью стандартноо протокола PPP.
Сначала создается управляющее тунелем соединение (через TCP, порт
1723). После обмена служебными сообщениями,узлы создают соединение
для пересылки данных, посредством протокола Generic Routing
Encapsulation (GRE).Данные, предназначенные для пересылки через
туннель, инкапсулируются необычным образом.
Во-первых, данные проходят все уровни OSI модели до уровня Network
включительно, а на уровне Data Link только вычисляются заголовок и
окончание PPP пакета. Затем весь полученный пакет шифруется. К
полученному шифротексту протокол PPTP добавляет вычисленные
заранее заголовок и окончание PPP пакета.Далее, этот PPP-кадр
инкапсулируется в GRE-пакет. К GRE-пакету приписывается IP-заголовок, затем он инкапсулируется в PPP-кадр и отправляется
получателю.
Учитывая то, что PPTP использует GRE, который инкапсулирует
протоколы сетевого уровня (IPX, AppleTalk, и т.д.) для
передачи их по IP-сетям, очевиден главный недостаток PPTP -
возможность создания туннеля только поверх TCP/IP сетей.
3.b Протокол L2TP.
Layer 2 Tunneling Protocol (L2TP) - протокол туннелирования на
втором уровне - является обьединением двух протоколов (PPTP -
туннелирование по TCP/IP-сетям и L2F - туннелирование по X.25,
ATM, Frame Relay).
L2TP использует для транспортировки протокол UDP(как для
туннелирования данных, так и для управления туннелем).
Сначала данные в процессе инкапсуляции доходят до второго уровня
(Data Link),затем к полученному PPP-кадру приписывается L2TP
заголовок. Итоговое L2TP-сообщение инкапсулируется UDP, который ,в
свою очередь, инкапсулируется IPSec.
Таким образом L2TP отвечает только за создание и управление
туннелем, а также за надежную доставку UDP-датаграмм (в заголовке
L2TP есть поля Next-Received и Next-Sent которые схожи по
функцианальности Acknowledgement Number и Sequence Number в
протоколе TCP). Шифрование же - прерогатива IPSec.
Шлюзы. Маршрутизаторы
Маршрутизаторы работают на сетевом уровне OSI. Они могут переадресовывать и маршрутизировать пакеты через множество сетей, обмениваясь информацией (которая зависит от протокола) между раздельными сетями. Маршрутизаторы считывают в пакете адресную информацию сложной сети и, поскольку они функционируют на более высоком по сравнению с мостами уровне OSI, имеют доступ к дополнительным данным
Маршрутизаторы могут выполнять следующие функции мостов: фильтровать и изолировать трафик; соединять сегменты сети
Маршрутизаторам доступно больше информации, чем мостам, и они используют ее для оптимизации доставки пакетов. В сложных сетях без применения маршрутизаторов обойтись трудно, так как они обеспечивают лучшее (по сравнению с мостами) управление графиком и не пропускают широковещательных сообщений. Маршрутизаторы могут совместно использовать данные о состоянии маршрутов и, основываясь на этой информации, обходить медленные или неисправные каналы связи
Таблица маршрутизации, которая находится в маршрутизаторах, содержит сетевые адреса. Для каждого протокола, используемого в сети, строится своя таблица. Таблица помогает маршрутизатору определить адреса назначения для поступающих данных. Она включает следующую информацию: все известные сетевые адреса; способы связи с другими сетями; возможные пути между маршрутизаторами; стоимость передачи данных по этим путям. Маршрутизатор выбирает наилучший маршрут для данных, сравнивая стоимость и доступность различных вариантов. Маршрутизаторы требуют специальной адресации: им понятны только номера сетей (что объясняет их обращение друг к другу) и адреса локальных плат сетевого адаптера. К удаленным компьютерам маршрутизаторы обращаться не могут
Маршрутизатор, принимая пакеты, предназначенные для удаленной сети, пересылает их тому маршрутизатору, который обслуживает сеть назначения. В некотором смысле это достоинство, потому что маршрутизаторы могут: сегментировать большие сети на меньшие; действовать как барьер безопасности между сегментами; предотвращать избыток широковещательных сообщений
Маршрутизатор может «прослушивать» сеть и определять, какие ее части сильнее загружены. Он устанавливает также количество транзитов между сегментами сети. Используя эту информацию, маршрутизатор выбирает маршрут передачи данных. Если один путь перегружен, он укажет альтернативный
Маршрутизаторы подразделяются на два основных типа. Статические маршрутизаторы требуют, чтобы администратор вручную создал и сконфигурировал таблицу маршрутизации, а также указал каждый маршрут. Динамические маршрутизаторы автоматически определяют маршруты и поэтому требуют минимальной настройки и конфигурирования. Они сложнее статических, так как анализируют информацию от других маршрутизаторов и для каждого пакета принимают отдельное решение о маршруте передачи через сеть
статические маршрутизаторы | динамические маршрутизаторы |
ручная установка и конфигурирование всех маршрутов | ручное конфигурирование первого маршрута |
всегда используют один и тот же маршрут, определяемый элементом таблицы маршрутизации | могут выбирать маршрут на основе стоимости и величины сетевого трафика |
администратор сам указывает каждый маршрут | защита его может быть улучшена за счет ручного конфигурирования. |
используемый маршрут жестко задан и не всегда является наилучшим | принимают решение о передаче пакетов по альтернативным маршрутам |
Шлюзы обеспечивают связь между различными архитектурами и средами. Они переупаковывают и преобразуют данные, передаваемые из одной среды в другую, чтобы каждая среда могла понимать данные других сред. Шлюз переупаковывает информацию в соответствии с требованиями системы назначения; изменяет формат сообщения, чтобы прикладная программа на принимающей стороне могла распознать данные. Например, шлюзы электронной почты (такие, как Х.400) принимают сообщение в одном формате, транслируют его и пересылают в формате Х.400, используемом получателем, и наоборот
Шлюз связывает две системы с разными коммуникационными протоколами, структурами и форматами данных, языками, архитектурами
Шлюзы связывают гетерогенные сети, например, Microsoft Windows NT Server и Systems Network Architecture фирмы IBM. Они изменяют формат данных, чтобы сделать их понятными прикладной программе на принимающей стороне
Шлюзы создаются для выполнения конкретного типа задач, то есть для конкретного типа преобразования данных. Часто они называются в соответствии с типом специализации (например, Windows NT Server To SNA Gateway)
Обрабатывая данные, шлюз выполняет следующие операции: извлекает данные из приходящих пакетов, пропуская их снизу вверх через полный стек протоколов передающей сети; заново упаковывает полученные данные, пропуская их сверху вниз через стек протоколов сети назначения
Некоторые шлюзы используют все семь уровней OSI, однако обычно шлюзы выполняют преобразование протоколов на прикладном уровне. Это зависит от типа шлюза
Обычно роль шлюзов в сети выполняют выделенные серверы. При этом может быть задействована значительная часть мощности сервера, потому что решаются такие задачи, как преобразование протоколов. Если сервер-шлюз используется и для других целей, необходимо установить на нем адекватный объем оперативной памяти и мощный центральный процессор, в противном случае производительность сервера снизится
Шлюзы имеют некоторые особенности: не создают высокой нагрузки для межсетевых каналов связи; эффективно выполняют специфичные задачи
Шлюзы имеют некоторые ограничения: предназначены для выполнения одной конкретной задачи; могут работать с низкой производительностью; стоимость шлюзов достаточно высока
Маршрутизаторы (router) — обеспечивают соединение логически не связанных сетей; они анализируют сообщение, определяют его дальнейший наилучший путь, выполняют его некоторое протокольное преобразование для согласования и передачи в другую сеть, создают нужный логический канал и передают сообщение по назначению. Маршрутизаторы обеспечивают достаточно сложный уровень сервиса: они могут, например, соединять сети с разными методами доступа; могут перераспределять нагрузки в линиях связи, направляя сообщения в обход наиболее загруженных линий и т. д.
Шлюзы (gateway) — устройства, позволяющие объединить вычислительные сети, использующие различные протоколы OSI на всех ее уровнях; они выполняют протокольное преобразование для всех семи уровней управления модели OSI. Кроме функций маршрутизаторов они выполняют еще и преобразование формата информационных пакетов и их перекодирование, что особенно важно при объединении неоднородных сетей.
Мосты, маршрутизаторы и шлюзы в локальной вычислительной сети — это, как правило, выделенные компьютеры со специальным программным обеспечением и дополнительной связной аппаратурой.
13. Сетевой уровень семейства TCP/IP. Классы IP-адресов. Организация InterNIC.
Сетевой уровень (network layer), иногда называемый уровнем межсетевого взаимодействия, отвечает за передачу пакетов по сети. маршрутизация пакетов осуществляется именно на этом уровне. ip (- протокол internet), icmp (- протокол управления сообщениями internet) и igmp (- протокол управления группами internet) обеспечивают сетевой уровень в семействе протоколов tcp/ip.
Для обмена данными в Интернете (между различными локальными сетями) узлу необходим IP-адрес. Это логический сетевой адрес конкретного узла. Для обмена данными с другими устройствами, подключенными к Интернету, необходим правильно настроенный, уникальный IP-адрес.
IP-адрес присваивается сетевому интерфейсу узла. Обычно это сетевая интерфейсная плата (NIC), установленная в устройстве. Примерами пользовательских устройств с сетевыми интерфейсами могут служить рабочие станции, серверы, сетевые принтеры и IP-телефоны. Иногда в серверах устанавливают несколько NIC, у каждой из которых есть свой IP-адрес. У интерфейсов маршрутизатора, обеспечивающего связь с сетью IP, также есть IP-адрес.
В каждом отправленном по сети пакете есть IP-адрес источника и назначения. Эта информация необходима сетевым устройствам для передачи информации по назначению и передачи источнику ответа.
——————————————
Структура IP адреса
IP-адрес представляет собой серию из 32 двоичных бит (единиц и нулей). Человеку прочесть двоичный IP-адрес очень сложно. Поэтому 32 бита группируются по четыре 8-битных байта, в так называемые октеты. Читать, записывать и запоминать IP-адреса в таком формате людям сложно. Чтобы облегчить понимание, каждый октет IP-адреса представлен в виде своего десятичного значения. Октеты разделяются десятичной точкой или запятой. Это называется точечно-десятичной нотацией.
При настройке IP-адрес узла вводится в виде десятичного числа с точками, например, 192.168.1.5. Вообразите, что вам пришлось бы вводить 32-битный двоичный эквивалент адреса — 11000000101010000000000100000101. Если ошибиться хотя бы в одном бите, получится другой адрес, и узел, возможно, не сможет работать в сети.
Структура 32-битного IP-адреса определяется межсетевым протоколом 4-ой версии (IPv4). На данный момент это один из самых распространенных в Интернете типов IP-адресов. По 32-битной схеме адресации можно создать более 4 миллиардов IP-адресов.
Классы сетей IP
IP-адреса разделяются на 5 классов: A, B, C, D, E. Адреса классов A, B и C делятся на две логические части: номер сети и номер узла.
Идентификатор сети, также называемый адресом сети, обозначает один сетевой сегмент в более крупной объединенной сети (сети сетей), использующей протокол TCP/IP. IP-адреса всех систем, подключенных к одной сети, имеют один и тот же идентификатор сети. Этот идентификатор также используется для уникального обозначения каждой сети в более крупной объединенной сети.
Идентификатор узла, также называемый адресом узла, определяет узел TCP/IP (рабочую станцию, сервер, маршрутизатор или другое TCP/IP-устройство) в пределах каждой сети. Идентификатор узла уникальным образом обозначает систему в том сегменте сети, к которой она подключена.
Класс А
У адресов класса A старший бит установлен 0 (рис.1). Длина сетевого префикса _ 8 бит. Для номера узла выделяется 3 байта (24 бита). Таким образом, в классе A может быть 126 сетей (27 - 2, два номера сети имеют специальное значение). Каждая сеть этого класса может поддерживать максимум 16777214 узлов (224 - 2). Адресный блок класса A может содержать максимум 231 уникальных адресов, в то время как в протоколе IP версии 4 возможно существование 232 адресов. Таким образом адресное пространство класса A занимает 50% всего адресного пространства протокола IP версии 4.
Адреса класса A предназначены для использования в больших сетях, с большим количеством узлов. На данный момент все адреса класса A распределены.
Рис.1 Класс А
Класс В
У адресов класса B два старших бита установлены в 1 и 0 соответственно (рис. 2). Длина сетевого префикса - 16 бит. Поле номера узла тоже имеет длину 16 бит. Таким образом, число сетей класса B равно 16384 (214); каждая сеть класса B может поддерживать до 65534 узлов (216 - 2). Адресный блок сетей класса B содержит 230 уникальных адресов, то есть 25% всего адресного пространства.
Класс B предназначен для применения в сетях среднего размера (например, крупное предприятие).
Рис.2 Класс В
Класс С
У адресов класса C три старших бита установлены в 1, 1 и 0 соответственно (рис. 3). Префикс сети имеет длину 24 бита, номер узла - 8 бит. Максимально возможное количество сетей класса C составляет 2097152 (221). Каждая сеть может поддерживать максимум 254 узла (28 - 2). Весь адресный блок сетей класса C содержит 229 уникальных адреса, что равно 12,5% от всего адресного пространства.
Класс C предназначен для сетей с небольшим количеством узлов.
Рис.3 Класс С
Класс D
Адреса класса D представляют собой специальные адреса, не относящиеся к отдельным сетям. Первые 4 бита этих адресов равны 1110 (рис. 4). Таким образом, значение первого октета этого диапазона адресов находится в пределах от 224 до 239. Адреса класса D используются для многоадресатных пакетов, с помощью которых во многих разных протоколах данные передаются многочисленным группам хостов. К таким протоколам относится протокол обнаружения устройств корпорации Cisco (CiscoDiscovery Protocol – CDP), функционирующий на основе протокола ICMP, или межсетевой протокол управления группами Internet (Internet Group Management Protocol – IGMP), который находит все более широкое распространение, после того, как был реализован в программном обеспечении Cisco IOS версии 11.2.
Эти адреса можно рассматривать как заранее запрограммированные в логической структуре большинства сетевых устройств. Это означает, что при обнаружении в пакете адреса получателя такого типа устройство на него обязательно отвечает. Например, если один из хостов передает пакет с IP-адресом получателя 224.0.0.5, на него отвечают все маршрутизаторы (использующие протокол OSPF), которые находятся в сегменте
сети с этим адресом Ethernet.
Рис.4 Класс D
Класс Е
Адреса в диапазоне 240.0.0.0—255.255.255.255 называются адресами класса E. Первый октет этих адресов начинается с битов 1111 (рис.5). Эти адреса зарезервированы для будущих дополнений в схеме адресации IP. Но возможность того, что эти дополнения когда-либо будут приняты, находится под вопросом, поскольку уже появилась версия 6 протокола IP (IPv6).
Рис.5 Класс Е
В течении долгого времени за предоставление сетевых информационных услуг в масштабах всего мирового сообщества (всей "Сети Internet") не отвечал никто. В начале 90-х годов для решения этой проблемы был создан центр сетевой информации InterNIC (NIC Internet -- Network Informational Center Internet), финансируемый NSF (Национальным научным фондом США). Услуги InterNIC предоставляются всем пользователям "Сети Internet", включая живущих за пределами США.
InterNIC состоит из трех отделений:
- Служба регистрации
- Служба баз данных
- Служба информации
Кроме центрального InterNIC существуют и постоянно увеличивается региональные центры. В Европе Европейское отделение NIC расположено в Амстердаме.
Служба регистрации
Служба регистрации отвечает за выделение сетевых адресов и доменных имен верхнего уровня. Как правило, регистрацией и выделением соответствующих адресов занимается поставщик услуг Internet (IP-провайдер), хотя если Вы работаете в достаточно большой организации, содержащей где-то около 500 компьютеров, это можно делать и самостоятельно.
Служба регистрации может быть полезной, если Вам необходимо отыскать данные о какой-либо удаленной сети. При обращении к ней можно получить адреса поставщиков сетевых услуг для интересующей вас сети.
Служба баз данных
Служба баз данных предназначена для создания баз данных по обслуживанию пользователей сети Internet. Основная работа заключается в создании глобального адресного справочника абонентов Сети. В настоящее время пока отсутствует полный справочник абонентов Сети, и поиск абонентов осуществляется при помощи различных поисковых систем (whois запросы). Но в ближайшее время, по всей видимости, задача поиска абонентов будет решена.
Создается и уже работает справочник услуг с разбивкой по типу услуги, которую предоставляет абонент, а не по названию
Служба информации
Служба информации различными способами распространяет информацию об Internet. В нее может обратится любой интересующийся (по телефону, факсу, электронной почте и по прямому соединению - telnet). Информация предоставляется бесплатно средствами Gopher, WAIS, World Wide Web и анонимного FTP.
Информационная система рассчитана в основном на пользователя; информация включает перечни ресурсов, перечни поставщиков сетевых услуг (включая международные), курсы обучения, книги, статистику, архивы статей про Internet.