workbook:jno-332:332_ipsec

This is an old revision of the document!


332 IPSec

Необходимые знания по IPSec:

  • Identify the concepts, benefits and operation of IPSec VPNs:
    • Secure VPN characteristics and components
    • IPSec tunnel establishment
    • IPSec traffic processing
    • Junos OS IPSec implementation options
  • Demonstrate knowledge of how to configure, monitor and troubleshoot IPSec VPNs:
    • IPSec VPN configuration steps
    • Monitoring and troubleshooting

IPSec - это набор стандартов\протоколов с помощью которых можно организовать безопасную предачу данных через ip сети.

Проблемы безопасности в разрезе передачи информации через через ip сети:

  • Конфиденциальность (Confidentiality) - чувствительную для бизнеса информацию надо шифровать.
    Нужно добиться того, что бы в случае перехвата информации её нельзя было прочесть и\или понять.
  • Целостность (Integrity) - всегда надо проверять целостность принятой информации.
    Информация по пути может “попортиться” в случае потерь на одном из каналов связи или при её намеренном изменении. Факт изменения информации надо отслеживать .
  • Аутентификация (authentication) - всегда надо понимать с кем ты строишь ipseс туннель, что бы не построить его с врагом.

Соответственно задачи srx при построении ipsec туннеля будут такими:

  • Зашифровать ip пакет.
  • Проверить целостность передаваемых пакетов
  • Идентифицировать удаленный srx c которым строится ipsec туннель.

Confidentiality

Data Encryption

Шифрование - процесс перевода plaintext в нечитаемый вид, т.н. ciphetext.
Основные составными части шифрования - алгоритм и ключ шифрования, что бы можно было расшифровать данные нужно знать алгоритм и ключ.
Типы шифрования :

  • Шифрование симметричный ключом - данные шифруются и расшифровываются одним и тем же ключом.
    Пример - AES (Advanced Encryption Standart), ГОСТ, Blowfish, CAST, DES (Data Encryprion Standart).
  • Шифрование несимметричный (открытым) ключом - данные шифруются открытым ключом, а расшифровываются закрытом ключом получателя.
    Пример - RSA, El-Gamal.
Symmetric Key Encryption

Обмен информацией осуществляется в три этапа:

  1. отправитель передает получателю ключ (в сети с несколькими абонентами у каждой пары абонентов должен быть свой ключ, отличный от ключей других пар);
  2. отправитель, используя ключ, зашифровывает сообщение, которое пересылается получателю;
  3. получатель получает сообщение и расшифровывает его.

Размер ключа обычно варьируется от 40 до 1024 бит. Такой способ хорошо подходит для шифрования больших объемов данных. Надо аккуратно относиться к передачи секретного ключа.
Симметричное шифрование используется при построении ipsec туннелей, с каждой стороны пишем pre-shared-key (??).

Public (open) Key Encryption

Схема обмена информацией следующая:

  • Получатель вычисляет открытый и секретный ключи, секретный ключ хранит в тайне, открытый же делает доступным (сообщает отправителю, группе пользователей сети, публикует);
  • Отправитель, используя открытый ключ получателя, зашифровывает сообщение, которое пересылается получателю;
  • Получатель получает сообщение и расшифровывает его, используя свой секретный ключ.

Размер ключа обычно выбирают от 512 до 2048 бит. Т.к. ключ длинный процесс шифрование идет медленнее.

Integrity

Данные зашифрованы и отправлены, теперь на стороне получателя надо проверить, что эти данные по пути не были модифицированы. Для этого используют алгоритмы хэширования.

Перед отправкой данные пропускаются через алгоритм хэширования и на выходе получается некое значение хэша. Это значение отправляется вместе с данными.
На принимающей стороне данные прогоняются через тот же алгоритм хэширования и полученное значение хэша сравнивается со значением которые насчитал отправитель. Если значения одинаковые значит все хорошо, если значения не совпадают, то пакет дропается.

К функции хэша применяются след. требования:

  • Не должно быть возможности получить оригинальные данные из значения хэша.
  • Одно и тоже значение хэша не должно получаться из двух разных начальных данных, хэш всегда должен быть уникальным.

Примером такой функции является функция определения остатка от деления - остаток при делении 80 на 11 будет равняться 3 (80 делим на 11 целое число раз и получаем остаток - целое число раз будет равняться 7, 7*11=77, 80-77=3 ). Зная, что остаток равняется 3 мы не сможем точно узнать что на что делилось.
80mod11=3
13mod5=3
203mod10=3 и т.д.

13mod5=3 эта такая форма записи в англоязычной литературе, к нашему модулю “| |” отношение вроде не имеет.

На на практике вычисления функция вычисления остатка не применяется, т.к. невозможно обеспечить уникальность результата.

Наиболее распространенными функциями являются SHA1, SHA3 (secure hash algoritm) и MD5 (message digest).

Аuthentication

Данные зашифрованы - никто их не прочитает. Хэш посчитан - о изменении передаваемых данных узнаем.
Осталось убедиться, что мы обмениваемся данными с правильным “собеседником”.
Для этого применяется механизм HMAC (Hashed MeassageAuthentication Code).

Принцип hmac:

  • отправляющий к данным добавляем (appends) preshared-key, хэширует данные и отправляет
  • данные с хэшем доходят до получателя
  • получатель отделяет данные от хэша
  • получатель добавляет свою версию preshared-key и считает хэш.
  • получатель сравнивает высчитанное значение хэша с тем которое он получил от отправителя, если одинаковые, то все ок.

Вставить картинку с chapter7-6

Обмен ключами

Ключи используются при шифровании и аутентификации, ключами надо как-то безопасно обмениваться.

Обменяться ключами можно в ручном режиме или автоматически.
При ручном обмене обычно с обоих сторон ставят один ключи и его всегда используют, передать этот ключ можно, например. на флешке. Часто менять ключ сложно т.к. его каждый раз надо надежным способом доставить и настроить.
При автоматическом обмене флешку возить не надо, но надо как-то безопасным образом передавать ключи через интернет. Для используют протокол Deffie-Hellman с помощью которого две стороны получают общий секретный ключ которы в дальнейшем используются при не симметричном шифровании.


Полезные материалы

workbook/jno-332/332_ipsec.1496059770.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki