[Все в одном] Подробное объяснение туннелей IPsec в одной статье
[Все в одном] Подробное объяснение туннелей IPsec в одной статье

1. Введение

IPsec (Интернет-протокол Безопасность) — это набор протоколов и служб, обеспечивающих безопасность IP-сетей. Он используется для установления безопасной сетевой связи в незащищенных сетях (обычно в Интернете). Очень распространенный сценарий заключается в том, что мы можем использовать туннели IPsec для интранет-сети компании. и штаб-квартира подключены, чтобы сотрудники филиала могли безопасно получить доступ к ресурсам штаб-квартиры. По традиционной практике компании необходимо арендовать выделенную линию у оператора и протянуть выделенный сетевой кабель для соединения штаб-квартиры и филиала. это безопаснее, опыт лучше, но цена тоже очень пугает.

Туннели IPsec могут помочь нам безопасно передавать данные с обоих концов Интернета, в основном полагаясь на четыре основные функции (CIAA):

  1. Конфиденциальность: передаваемые данные шифруются.
  2. Целостность: передаваемые данные не могут быть подделаны без обнаружения. Я могу с первого взгляда определить, были ли данные изменены кем-либо.
  3. Аутентификация: отправитель и получатель могут аутентифицировать друг друга и четко знать, что на другом конце находится нужный человек.
  4. Защита от повтора: каждый пакет уникален и будет иметь серийный номер SPI. Если злоумышленник снова отправит наш запрос в целости и сохранности, пытаясь обмануть сервер аутентификации, это абсолютно невозможно.

Прежде чем мы начнем знакомить с туннелями IPsec, давайте начнем с краткого напоминания и поговорим о необходимых знаниях.

2. Некоторые понятия

2.1 Симметричное шифрование

Симметричное шифрование подразумевает использование ключа для шифрования и дешифрования данных. Позвольте мне привести простейший пример симметричного шифрования:

Шифр Цезаря был создан Юлием Цезарем в период римской экспансии и использовался для шифрования боевых приказов, передаваемых через посланников. Он перемещает буквы алфавита в определенную позицию для достижения шифрования. Например, если вы переместите на 2 позиции вправо, буква A станет C, буква B станет D, ..., буква X станет Z, буква Y станет A, а буква Z станет Б. Следовательно, если существует строка открытого текста «Привет», зашифрованная таким образом, она станет зашифрованным текстом: «Jgnnq». А если вы хотите расшифровать, вам нужно всего лишь сдвинуть буквы в обратную сторону на такое же количество цифр. Например, каждая буква зашифрованного текста «Jgnnq» сдвигается на два места влево и становится «Hello». Здесь перенесенная цифра «2» является ключом, используемым для шифрования и дешифрования. Пока Цезарь заранее сообщает своим министрам перенесенную цифру, обе стороны могут зашифровать и расшифровать боевой приказ.

Из приведенных выше примеров мы можем обнаружить две характеристики симметричного шифрования:

  1. Шифрование и дешифрование выполняются очень быстро.
  2. Этот ключ трудно обменять, поскольку, оказавшись перед вражескими силами, они могут расшифровать данные.

В настоящее время существует три известных алгоритма симметричного шифрования:

  • DES (стандарт шифрования данных) Алгоритм DES имеет три входных параметра: ключ, данные и режим. Среди них ключ имеет общую длину 7 байт и 56 бит, что является рабочим ключом алгоритма DES; данные составляют 8 байт и 64 бита, что представляет собой данные, подлежащие шифрованию или расшифровке; и есть два типа: шифрование и расшифровка. Безопасность — самая слабая из трех.
  • 3DES (тройной DES) 3DES — более безопасный вариант DES. Он использует DES в качестве базового модуля и разрабатывает алгоритм группового шифрования с помощью комбинированного метода группировки. 3DES более безопасен, чем исходный DES, и в настоящее время нет сообщений о взломе 3DES. В этом методе используются два ключа. Общая эффективная длина двух ключей составляет 112 бит. Алгоритм DES выполняется три раза. Процесс шифрования — шифрование-дешифрование-шифрование, а процесс дешифрования — расшифровка-шифрование-дешифрование.
  • AES (расширенный стандарт шифрования) Также известен как метод шифрования Rijndael.,даФедеральное правительство СШАсвоего родаБлокировать шифрованиестандартный。AESДлина блока фиксирована128биты,Длина ключа может быть 128,192 или 256 бит,Соответствующее количество раундов шифрования равно 10.,12и14колесо。 В июне 2003 года правительство США объявило, что AES можно использовать для шифрования конфиденциальных документов.

2.2 Асимметричное шифрование

Асимметричное шифрование означает, что при шифровании и дешифровании не используется один и тот же ключ: только одна и та же пара открытый ключ-частный ключ может выполнять обычное шифрование и дешифрование.

Эта штука очень умная, то есть существует пара ключей A и keyB. Только я знаю ключ A, поэтому он называется закрытым ключом. Ключ B может быть передан кому угодно, поэтому он называется открытым ключом. Я хочу, чтобы выходные данные могли быть зашифрованы с помощью закрытого ключа. Тогда другие люди, получившие открытый ключ, смогут расшифровать эту информацию. Что более умно, так это то, что другие люди также могут зашифровать информацию с помощью открытого ключа, и только я, у которого есть личный ключ. ключ, можно расшифровать его. Асимметричное шифрование обычно выполняет две функции:

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

Более репрезентативным является алгоритм RSA, предложенный тремя преподавателями Массачусетского технологического института в 1977 году. Конкретный процесс выглядит следующим образом:

  1. Выберите пару простых чисел p и q, которые различны и достаточно велики.
  2. Вычислите n = pq.
  3. Вычислите r = (p-1)(q-1), сохраняя при этом p и q строго конфиденциально и никому не сообщая.
  4. найди одиниrОтносительно простые числаe,и1< e < r。
  5. Вычислите d такое, что de ≡ 1 mod r.
  6. Открытый ключ KU=(e, n), закрытый ключ KR=(d, n).
  7. При шифровании открытый текст сначала преобразуется в целое число M от 0 до n-1. Если открытый текст длинный, его можно сначала разделить на соответствующие группы, а затем поменять местами. Если предположить, что зашифрованный текст — C, процесс шифрования будет следующим: C = Me (mod n).
  8. Процесс расшифровки: M = Cd (mod n).

Если остатки, полученные при делении двух целых чисел a и b на целое положительное число m, равны, то говорят, что a и b конгруэнтны по модулю m, что обозначается как: a ≡ b (mod m);

Для удобства возьмем два небольших простых числа:

Язык кода:javascript
копировать
p = 3 ,q = 11
->
n = pq = 33
r = (p-1)(q-1) = 20
Возьмите e и 20, чтобы они были относительно простыми между 1 и 20, возьмите e = 3 (вы также можете взять другие значения)

3*d и После взятия по модулю 1 к 20 остатки должны быть одинаковыми. Сразу видно, что это 21, а d равно 7.

Пока что открытый ключ e, n : 3, 33
Пока что закрытый ключ d, n : 7, 33

Теперь я начинаю отправлять данные: 2 0 2 4 
Тогда шифрование секретного ключа будет следующим: M^e (mod n) -> (2^3 mod 33)  (0^3 mod 33)  (2^3 mod 33) (4^3 mod 33)
Шифрованный текст: 8 0 8 31

Расшифровка открытого ключа: c^d (mod n) -> (8^7 mod 33) (0^7 mod 33) (8^7 mod 33) (31^7 mod 33)
Расшифрованный зашифрованный текст: 2 0 2 4

Теперь другая сторона также может использовать открытый ключ для шифрования: 1 3 1 4
Зашифруйте открытым ключом следующим образом: M^e (mod n) -> (1^7 mod 33)  (3^7 mod 33)  (1^7 mod 33) (4^7 mod 33)
Шифрованный текст: 1 9 1 16 

Я расшифровываю закрытым ключом: c^d (mod n) -> (1^3 mod 33) (9^3 mod 33) (1^3 mod 33) (16^3 mod 33)
расшифрованный Шифрованный текст: 1 3 1 4

Видно, что если кто-то найдет быстрый алгоритм факторизации, надежность информации, зашифрованной с помощью RSA, будет крайне снижена. Но вероятность найти такой алгоритм очень мала. Сегодня только короткие ключи RSA можно взломать методом грубой силы. По состоянию на 2020 год в мире не существует надежного способа атаковать алгоритм RSA.

2.3 Обмен ключами Диффи-Хеллмана (DH)

Как упоминалось выше, симметричные ключи сложно обменивать через Интернет, поскольку посредник может легко их украсть. В 1976 году два криптографа опубликовали статью об обмене ключами, которая позволяла обеим сторонам установить ключ через незащищенный канал без какой-либо предварительной информации от другой стороны. Этот ключ можно использовать в качестве симметричного ключа для шифрования содержимого сообщения при последующих сеансах связи.

Давайте вернемся к истории Цезаря о шифровании команд путем сдвига букв влево на несколько цифр. Теперь они могут согласовать количество сдвигов через DH:

Цезарь

лидер армии

Обе стороны раскрывают p и g. p — простое число, а g — целое число.

Позвольте мне сказать р, р = 11

Я понимаю, тогда позвольте мне сказать г, г=5, Ваше Величество, примите это к сведению.

Обе стороны должны придумать секретные номера А и Б, и никому не расскажут, пока не умрут.

Я подумал о =6 в уме

Я думал о b=4

Обе стороны обмениваются номерами, s = (g ^ a или b) mod p

Я посчитал, это (5^6) по модулю 11 = 5, это s=5 для вас.

Я сделал расчет, это (5^4) по модулю 11 = 9, это s=9 для вас.

Обе стороны вычисляют симметричный ключ через key= (s ^ a или b другой стороны) mod p

k = (9 ^6) mod11 = 9, количество окк-сдвигов равно 9

k = (5 ^4 ) mod11 = 9, окей, расшифрую сдвигом в обратную сторону на 9

Группа Диффи-Хеллмана (DH) определяет надежность ключа, используемого во время обмена ключами. Внутри типа группы (MODP или ECP) ​​более высокие номера групп Диффи-Хеллмана обычно более безопасны.

  • Diffie-Hellman Group 1 (768-bit)
  • Diffie-Hellman Group 2 (1024-bit)
  • Diffie-Hellman Group 5 (1536-bit)
  • Diffie-Hellman Group 14 (2048-bit)
  • Diffie-Hellman Group 15 (3072-bit)

2.3 Хэш

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

Что нам более знакомо, так это алгоритм MD5. Когда мы загружаем фильм, Xunlei выполняет проверку значения MD5 (генерируя 32-битную строку). Если оно соответствует значению MD5, записанному источником загрузки, то это так. считается скачанным. Фильм не поврежден, но теперь MD5 немного хрупкий, мы можем использовать радужную таблицу, чтобы сделать обратный кряк.

Язык кода:javascript
копировать
hello
B1946AC92492D2347C6235B4D2611184

SHA (алгоритм безопасного хеширования, безопасный Hash Algorithm)даодинкриптографическая хэш-функциясемья,даFIPSМесто СертификациябезопасностьХэш-алгоритм。Последний среди нихSHA-3 ,Официально выпущен в 2015 году.,Благодаря успешному взлому MD5,И есть теоретические методы взлома SHA-0иSHA-1,NISTчувствовать потребность в одноми Раньше алгоритм был другой.,Сменное шифрование Хэш-алгоритм,Теперь это SHA-3. Длина строки Хэш, сгенерированной SHA, чрезвычайно велика.,Может быть 512-битной строкой,Вероятность столкновения практически исчезла,Можно считать, что значения строки и Хэш, представленные Хэш, имеют взаимно однозначное соответствие:

Язык кода:javascript
копировать
hello
52fa80662e64c128f8389c9ea6c73d4c02368004bf4463491900d11aaadca39d47de1b01361f207c512cfa79f0f92c3395c67ff7928e3f5ce3e3c852b392f976

Давайте проведем эксперимент. Небольшое изменение приведет к почти совершенно другим значениям хеш-функции. Например, если вы замените в предложении «собаку» на «dof», сгенерированное значение хеш-функции будет совершенно другим:

Язык кода:javascript
копировать
SHAKE128("The quick brown fox jumps over the lazy dog", 256)
f4202e3c5852f9182a0430fd8144f0a74b95e7417ecae17db0f8cfeed0e3e66e
SHAKE128("The quick brown fox jumps over the lazy dof", 256)
853f4538be0db9621a6cea659a06c1107b1f83f02b13d18297bd39d7411cf10c

2.4 Сертификация

Аутентификация призвана гарантировать, что обе стороны общения являются реальными сторонами, а не фальсификаторами, такими как посредники. Обычно существует два метода:

  • Предварительный общий ключ: Предварительный общий PSK. Это похоже на личное соглашение о пароле. Это похоже на то, что мои солдаты назначат его вам, пока у вас есть документы.
  • Цифровая подпись, это еще одна функция закрытого ключа, обсуждавшаяся ранее. Две стороны обмениваются открытыми ключами друг с другом, а затем обе стороны отправляют строку открытых текстовых сообщений и добавляют в конце контрольную сумму. Эта контрольная сумма использует их соответствующие закрытые ключи. , а затем обе стороны используют открытый ключ другой стороны, расшифровывает контрольную сумму, а затем вычисляет контрольную сумму обычного текстового сообщения. Если контрольная сумма согласована, считается, что у другой стороны есть настоящий закрытый ключ. Конечно, это не работает, потому что посредник также может обмениваться ключами с обеими сторонами, поэтому обычно существует сертификат CA, который очень авторитетен. Если вы хотите предоставлять услуги веб-сайта или что-то в этом роде, вам придется потратить деньги. для регистрации в ЦС. Он содержит имя хоста, открытый ключ хоста и ЦС веб-сайта заявителя. Организация подпишет весь сертификат своим собственным закрытым ключом, а затем произойдет обмен сертификатом ЦС, когда обе стороны обменяются им. Поскольку открытый ключ ЦС в настоящее время встроен в браузер или операционную систему, он может определить, является ли сертификат действительным. подделанный. Поскольку сертификат правильный, мы можем предположить, что партнер также является подлинным.

2.5 Протокол AH и ESP

Протокол AH (заголовок аутентификации): он может подтвердить происхождение данных, обеспечить целостность данных и предотвратить повторное воспроизведение одного и того же пакета данных в Интернете. Он использует номер IP-протокола 51. Эту функцию реализуют общедоступные алгоритмы дайджеста AH (односторонние хэш-функции) MD5 и SHA1.

  • Следующий заголовок (8 бит): указывает тип протокола, следующий сразу за заголовком AH. В транспортном режиме это поле представляет собой значение защищаемого протокола транспортного уровня, например 6 (TCP), 17 (UDP) или 50 (ESP). В туннельном режиме AH защищает весь IP-пакет. Значение равно 4, что указывает на протокол IP-в-IP.
  • Длина полезной нагрузки (8 бит): ее значение представляет собой длину всех данных AH (включая заголовок и данные проверки переменной длины) в единицах по 32 бита (4 байта) минус 2.
  • Зарезервировано (16 бит): подготовлено для будущего использования при расширении протокола AH. Текущий протокол предусматривает, что это поле должно быть установлено в 0.
  • Индекс параметра безопасности SPI (32 бита): значение [256,232-1]. Фактически, оно используется для определения того, какие политики безопасности использует отправитель при обработке пакетов IP-данных. Когда получатель видит это поле, он знает, как обрабатывать полученные пакеты IPsec.
  • Порядковый номер (32 бита): монотонно увеличивающийся счетчик, который присваивает порядковый номер каждому пакету AH. Когда обе взаимодействующие стороны устанавливают SA, он инициализируется значением 0. SA является односторонним. Каждый раз, когда пакет отправляется/получится, счетчик исходящего/входящего SA увеличивается на 1. Это поле можно использовать для защиты от атак повторного воспроизведения.
  • Данные проверки: переменная длина, в зависимости от того, какой алгоритм проверки сообщения используется. Содержит код проверки целостности, который является результатом работы алгоритма HMAC, называемого ICV, а алгоритм его генерации определяется SA.

Протокол ESP (инкапсуляция полезной нагрузки безопасности, протокол инкапсуляции полезной нагрузки безопасности): он обладает всеми функциями AH (за исключением того, что ESP не проверяет весь IP-пакет. Он также может использовать технологию шифрования для обеспечения конфиденциальности данных с использованием протокола IP номер 50). ESP обычно использует DES, 3DES, AES и другие алгоритмы шифрования для шифрования данных. Используйте MD5 или SHA1. Обеспечьте целостность данных.

  • Индекс параметра безопасности SPI (32 бита): значение [256,232-1].
  • Порядковый номер (32 бита): монотонно увеличивающийся счетчик, который присваивает порядковый номер каждому пакету AH. Когда обе взаимодействующие стороны устанавливают SA, он инициализируется значением 0. SA является односторонним. Каждый раз, когда пакет отправляется/получится, счетчик исходящего/входящего SA увеличивается на 1. Это поле можно использовать для защиты от атак повторного воспроизведения.
  • Полезная нагрузка сообщения: это поле переменной длины. Если SA использует шифрование, эта часть представляет собой зашифрованный текст, если шифрование отсутствует, эта часть является открытым текстом.
  • Заполнение: это необязательное поле, которое дополняется до 4-байтовой границы по мере необходимости, чтобы выровнять данные, подлежащие шифрованию.
  • Длина заполнения: указывает длину элемента заполнения в байтах в диапазоне от [0 до 255]. Он гарантирует, что длина зашифрованных данных адаптируется к длине алгоритма блочного шифрования, а также может использоваться для сокрытия истинной длины полезных данных при анализе трафика.
  • Следующий заголовок: указывает протокол, следующий сразу за заголовком ESP, где значение 6 указывает, что TCP инкапсулируется позже.
  • Данные проверки: это поле переменной длины. Это поле требуется только в том случае, если выбрана служба проверки.

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

3. IPSec-туннель

С помощью базы знаний, представленной выше, вы можете покинуть Деревню новичков и бросить вызов боссу туннеля IPSec.

ipsec — это набор протоколов, используемых для установления безопасного сетевого взаимодействия в незащищенной сети (Интернет).

Мы можем соединить интрасети филиала и штаб-квартиры через ipsec-туннели, чтобы сотрудники филиала могли безопасно получать доступ к ресурсам штаб-квартиры через Интернет. Штаб-квартира и филиал здесь называются двумя пирами (локальным и удаленным). обычно используют удаленные офисы, используют туннели IPSec или туннели SSL.

Оба конца будут определять некоторый интересный трафик. Этот трафик относится к трафику, который удовлетворяет ряду правил, например, определенному сегменту сети или более сложной политике ACL. Независимо от правил, если трафик, инициированный одним концом, соответствует этим правилам. Он классифицируется как интересный трафик, и для доставки трафика к месту назначения создается туннель ipsec. При отсутствии интересного трафика туннель в конечном итоге будет разорван и восстановлен только в следующий раз, когда система обнаружит поступление интересного трафика.

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

Общая архитектура туннелей ipsec выглядит следующим образом:

3.1 Два этапа создания туннеля

3.1.1 (IKEv1 SA) Phase 1

  • Шаг 1: Сертификация Обе стороны обмениваются сертификатами или используют общие ключи для аутентификации, чтобы подтвердить, что обе стороны являются нужными людьми.
  • Шаг 2: — Обмен открытым ключом. Обе стороны открыто обмениваются открытыми ключами друг друга.
  • Шаг 3. Обмен ключами DH. Обе стороны генерируют симметричный ключ DH, используя свой собственный закрытый ключ и открытый ключ другой стороны.
  • Шаг 4: — Двухэтапная генерация симметричного ключа. В это время обе стороны использовали ключ DH для зашифрованной связи. Они в основном обменивались некоторой информацией и согласовывали алгоритм симметричного шифрования, использовать ли DES или 3DES. На этом этапе обе стороны использовали ключ DH и обмениваемую информацию. сгенерировать новый симметричный ключ. Мы называем это двухфазным симметричным ключом.

Существует два режима одноэтапных переговоров: основной режим и активный режим. Основной режим — это режим по умолчанию для IKEv1. Для завершения согласования используется 6 сообщений, что более безопасно. Активный режим использует 3 сообщения, что небезопасно, но быстро.

3.1.2 (IPSec SA) Phase 2

После того как хосты устанавливают взаимные SA IKE в основном режиме, эти SA используются для защиты последующего обмена ключами, что делает процесс более легким. Последующий обмен называется быстрым режимом или IKE Phase 2.

Цель быстрого режима — установить IPsec SA — канал, используемый для шифрования и дешифрования данных приложения.

Через заранее определенные интервалы времени (например, по времени или объему данных) эти сопоставления безопасности IPsec обновляются, то есть генерируются и обмениваются новыми ключами сопоставления безопасности IPsec.

  • Шаг 1: Согласование параметров HAGLE На этом этапе обе стороны используют для связи алгоритм симметричного шифрования, сгенерированный на первом этапе, и согласовывают следующие параметры: Алгоритм хеширования, используйте MD5 или SHA. Аутентификация сторон аутентификации, будь то цифровая подпись RSA или предварительный общий ключ PSK. Количество цифр в ключе dh, используемом DH Group. Пожизненное время выживания туннеля Алгоритм шифрования, будь то DES, 3DES или AES
  • Шаг 2. Генерация симметричного ключа IPSec. Используйте ключ dh плюс полученную информацию для создания нового симметричного ключа IPSec.
  • Шаг 3: Создание нескольких туннелей. Эта часть туннеля является каналом, используемым для последующей передачи пользовательских данных. Каждый туннель может генерировать несколько путей сопоставления безопасности IPSec на основе политики или маршрутизации VPN, например, определяя, какой трафик представляет интерес. В режиме на основе маршрутизации используется единый ключ ipsec. В режиме на основе политики каждая политика имеет свой собственный уникальный ключ ipsec.

Это также идея многоуровневого проектирования, поскольку первая фаза очень медленная и тяжелая, а вторая фаза относительно быстрая, поэтому при отсутствии интересного трафика туннель IPSec отключит вторую фазу, но первая фаза все равно будет работать. сохраняется, чтобы можно было быстро возобновить этап 2, когда снова появится заинтересованный трафик.

3.2 Два режима туннелей

  • Режим передачи При использовании сквозного режима IP-заголовок сообщения является исходным IP-заголовком. ESP/AH + IP-заголовок + данные (зашифрованные)
  • туннельный режим Используется в режиме «сеть-сеть», между шлюзами. Исходное сообщение зашифровано. В туннельном режиме добавляется новый заголовок IP. Одним из преимуществ этого режима является возможность прохождения NAT по сравнению с транспортным режимом. исходный IP-заголовок Новый заголовок IP + ESP/AH + заголовок IP (шифрование) + данные (шифрование)

3.3 Визуализация захвата пакетов Wireshark IKEv2

IKEv2 упрощает процесс согласования ассоциации безопасности. В обычных обстоятельствах IKEv2 использует 2 обмена по 4 сообщения для завершения IKE SA и пары SA IPSec. Если требуется установить более одной пары SA IPSec, для каждой пары SA требуется только один дополнительный обмен. is, 2 Сообщение будет полным.

Экспериментальный фон

  • Шлюз А (SiteA-Vpn10) и шлюз Б (SiteB-Vpn30)
  • Используемые параметры SHA1-AES128-ESP
  • Двусторонний общедоступный IP-адрес: 217.182.214.221(A), 217.182.218.56(B)
  • Интересующие правила дорожного движения: Левый 10.0.10.0/24 - Правый 203.0.113.0/24

Протокол IKEv2 состоит из четырех сообщений. Среди этих четырех сообщений первые два сообщения не зашифрованы и используют номер UDP-порта 500. Этот этап называется IKE_SA_INIT. Последние два сообщения зашифрованы и используют номер UDP-порта 4500. Этот этап называется IKE_AUTH.

первое сообщение Начальный SPI устанавливает случайное значение SPI ответчика установлен на 0.

SA, KE, обмен информацией Nonce

​ Предложения по пакетам безопасности для использования обеими сторонами

Данные Nonce (число, используемое ОДИН РАЗ) используются для повышения безопасности и предотвращения атак повторного воспроизведения. Nonce — это случайное число или счетчик, который используется только один раз во время обмена ключами и аутентификации.​

Алгоритм DH и числа, которыми обмениваются друг с другом​

​ Версия IKE, идентификатор сообщения. Используя идентификатор сообщения, можно отслеживать и идентифицировать различные сообщения в сеансе IPsec. Это позволяет отправителям и получателям сопоставлять и коррелировать при обмене несколькими сообщениями, обеспечивая правильный порядок и обработку сообщений.

​ Стоит ли выполнять обнаружение nat

второе сообщение ипервое сообщение почти такое же, реагирует на информацию пакета безопасности инициатора и используется для генерации dh ключевые данные​

Третье сообщение и четвертое сообщениедаиспользоватьDHключ Симметричное шифрованиеиз,Устанавливаем плагин,Разблокируйте его и посмотрите, какая информация находится внутри

Эта часть включает в себя следующую информацию: Идентификация обеих сторон​

​ Диапазон интересующего трафика, селектор трафика​

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

Некоторые предложения параметров HAGLE для пользовательских туннелей, алгоритмов и т. д. IPSec SA.

Последующие сообщения представляют собой пользовательские данные, зашифрованные ESP.,На обоих концах имеются логотипы SPI и серийные номера ESP.

​ После расшифровки вы можете увидеть внутреннее сообщение пользователя.

Reference

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода