IPsec (скорочення від IP Security) — набір протоколів для забезпечення захисту даних, що передаються за допомогою протоколу IP, дозволяє здійснювати підтвердження справжності та/або шифрування IP-пакетів. IPsec також містить в собі протоколи для захищеного обміну ключами в мережі Інтернет.
Стандарти
- RFC 2401 (Security Architecture for the Internet Protocol) — Архітектура захисту для протоколу IP.
- RFC 2402 (IP Authentication header) — аутентифікаційні заголовок IP.
- RFC 2403 (The Use of HMAC-MD5-96 within ESP and AH) — Використання алгоритму хешування MD-5 для створення аутентифікаційні заголовка.
- RFC 2404 (The Use of HMAC-SHA-1-96 within ESP and AH) — Використання алгоритму хешування SHA-1 для створення аутентифікаційні заголовка.
- RFC 2405 (The ESP DES-CBC Cipher Algorithm With Explicit IV) — Використання алгоритму шифрування DES.
- RFC 2406 (IP Encapsulating Security Payload (ESP)) — Шифрування даних.
- RFC 2407 (The Internet IP Security Domain of Interpretation for ISAKMP) — Область застосування протоколу управління ключами.
- RFC 2408 (Internet Security Association and Key Management Protocol (ISAKMP)) — Управління ключами і аутентифікатором захищених з'єднань.
- RFC 2409 (The Internet Key Exchange (IKE)) — Обмін ключами.
- RFC 2410 (The NULL Encryption Algorithm and Its Use With IPsec) — Нульовий алгоритм шифрування і його використання.
- RFC 2411 (IP Security Document Roadmap) — Подальший розвиток стандарту.
- RFC 2412 (The OAKLEY Key Determination Protocol) — Перевірка відповідності ключа.
Архітектура IPsec
Протоколи IPsec, на відміну від інших добре відомих протоколів SSL та TLS, працюють на мережевому рівні (рівень 3 моделі OSI). Це робить IPsec гнучкішим, так що він може використовуватися для захисту будь-яких протоколів, що базуються на TCP та UDP. IPsec може використовуватися для забезпечення безпеки між двома IP-вузлами, між двома шлюзами безпеки або між IP-вузлом і шлюзом безпеки. Протокол є «надбудовою» над IP-протоколом, і обробляє сформовані IP-пакети описаним нижче способом. IPsec може забезпечувати цілісність та / або конфіденційність даних переданих по мережі.
IPsec використовує наступні протоколи для виконання різних функцій:
- Authentication Header (АН) забезпечує цілісність віртуального з'єднання (переданих даних), аутентифікацію джерела інформації та додаткову функцію із запобігання повторної передачі пакетів
- Encapsulating Security Payload (ESP) може забезпечити конфіденційність (шифрування) переданої інформації, обмеження потоку конфіденційного трафіку. Крім цього, він може забезпечити цілісність віртуального з'єднання (переданих даних), аутентифікацію джерела інформації та додаткову функцію із запобігання повторної передачі пакетів (Всякий раз, коли застосовується ESP, в обов'язковому порядку повинен використовуватися той чи інший набір даних послуг із забезпечення безпеки)
- Security Association (SA) забезпечують зв'язку алгоритмів і даних, які надають параметри, необхідні для роботи AH і / або ESP. Internet security association and key management protocol (ISAKMP) забезпечує основу для аутентифікації і обміну ключами, перевірки автентичності ключів.
Security Association
Концепція «захищеного віртуального з'єднання» (SA, «Security Association») є фундаментальною в архітектурі IPsec. SA це симплексне з'єднання, яке формується для транспортування по ньому відповідного трафіку. При реалізації послуг безпеки формується SA на основі використання протоколів AH або ESP (або обох одночасно). SA визначений відповідно до концепції міжтермінального з'єднання () і може функціонувати в двох режимах: транспортний режим (РТР) і режим тунелювання (РТУ). Транспортний режим реалізується при SA між двома IP-вузлами. В режимі тунелювання формує IP-тунель.
Всі SA зберігаються в базі даних SADB (Security Associations Database) IPsec-модуля. Кожне SA має унікальний маркер, що складається з трьох елементів:
- Індексу параметра безпеки (SPI)
- IP-адреси призначення
- Ідентифікатора протоколу безпеки (ESP або AH)
IPsec-модуль, маючи ці три параметри, може відшукати в SADB запис про конкретному SA. У список компонентів SA входять:
- Послідовний номер
- 32-бітове значення, яке використовується для формування поля Sequence Number в заголовках АН і ESP.
- Переповнення лічильника порядкового номера
- Прапор, який сигналізує про переповнення лічильника послідовного номера.
- Вікно для придушення атак відтворення
- Використовується для визначення повторної передачі пакетів. Якщо значення в полі Sequence Number не потрапляє в заданий діапазон, то пакет знищується.
- Інформація AH
- використовуваний алгоритм аутентифікації, необхідні ключі, час життя ключів та інші параметри.
- Інформація ESP
- алгоритми шифрування і аутентифікації, необхідні ключі, параметри ініціалізації (наприклад, IV), час життя ключів та інші параметри
- Режим роботи IPsec
- тунельний або транспортний
- MTU
- Максимальний розмір пакета, який можна передати по віртуальному каналу без фрагментації.
Так як захищені віртуальні з'єднання є симплексними, то для організації дуплексного каналу, як мінімум, потрібні два SA. Крім цього, кожен протокол (ESP / AH) повинен мати свою власну SA для кожного напрямку, тобто, зв'язка AH + ESP вимагає наявності чотирьох SA. Всі ці дані розташовуються в SADB.
В SADB містяться:
- AH: алгоритм аутентифікації.
- AH: секретний ключ для аутентифікації
- ESP: алгоритм шифрування.
- ESP: секретний ключ шифрування.
- ESP: використання аутентифікації (так / ні).
- Параметри для обміну ключами
- Обмеження маршрутизації
- IP політика фільтрації
Крім бази даних SADB, реалізації IPsec підтримують базу даних SPD (Security Policy Database-База даних політик безпеки). Запис в SPD складається з набору значень полів IP-заголовка і полів заголовка протоколу верхнього рівня. Ці поля називаються селекторами. Селектори використовуються для фільтрації вихідних пакетів, з метою поставити кожен пакет у відповідність з певним SA. Коли формується пакет, порівнюються значення відповідних полів у пакеті (селекторні поля) з тими, які містяться SPD. Знаходяться відповідні SA. Потім визначається SA (у випадку, якщо воно є) для пакета і пов'язаний з нею індекс параметрів безпеки (SPI). Після чого виконуються операції IPsec (операції протоколу AH або ESP).
Приклади селекторів, які містяться в SPD:
- IP-адреса місця призначення
- IP-адреса відправника
- Протокол IPsec (AH, ESP або AH + ESP)
- Порти відправника та одержувача
Authentication Header
Offsets | Octet16 | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Octet16 | Bit10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 0 | Next Header | Payload Len | Reserved | |||||||||||||||||||||||||||||
4 | 32 | Security Parameters Index (SPI) | |||||||||||||||||||||||||||||||
8 | 64 | Sequence Number | |||||||||||||||||||||||||||||||
C | 96 | Integrity Check Value (ICV) … | |||||||||||||||||||||||||||||||
… | … |
- Next Header (8 bits)
- Тип заголовка протоколу, що йде після заголовка AH. По цьому полю приймальний IP-sec модуль дізнається про захищається протоколі верхнього рівня. Значення цього поля для різних протоколів можна подивитися в RFC 1700.
- Payload Len (8 bits)
- Це поле визначає загальний розмір АН-заголовка в 32-бітових словах, мінус 2. Незважаючи на це, при використанні IPv6 довжина заголовка повинна бути кратна 8 байтам.
- Reserved (16 bits)
- Зарезервовано. Заповнюється нулями.
- Security Parameters Index (32 bits)
- Індекс параметрів безпеки. Значення цього поля разом з IP-адресою одержувача і протоколом безпеки (АН-протокол), однозначно визначає захищене віртуальне з'єднання (SA) для даного пакета. Діапазон значень SPI 1 … 255 зарезервований IANA.
- Sequence Number (32 bits)
- Послідовний номер. Служить для захисту від повторної передачі. Поле містить монотонно зростаюче значення параметра. Незважаючи на те, що одержувач може відмовитися від послуги із захисту від повторної передачі пакетів, воно є обов'язковим і завжди присутній в AH-заголовку. Передавальний IPsec-модуль завжди використовує це поле, але одержувач може його і не обробляти.
- Integrity Check Value
- Контрольна сума. Повинна бути кратна 8-байтам для IPv6, і 4-байтам для IPv4.
Протокол AH використовується для аутентифікації, тобто для підтвердження того, що ми зв'язуємося саме з тим, з ким припускаємо, і що дані, які ми отримуємо, не спотворені при передачі.
Обробка вихідних IP-пакетів
Якщо передавальний IPsec-модуль визначає, що пакет пов'язаний з SA, яке передбачає AH-обробку, то він починає обробку. В залежності від режиму (транспортний або режим тунелювання) він по-різному вставляє AH-заголовок в IP-пакет. У транспортному режимі AH-заголовок розташовується після заголовка протоколу IP і перед заголовками протоколів верхнього рівня (Зазвичай, TCP або UDP). В режимі тунелювання весь вихідний IP-пакет обрамляється спочатку заголовком AH, потім заголовком IP-протоколу. Такий заголовок називається зовнішнім, а заголовок вихідного IP-пакета-внутрішнім. Після цього передавальний IPsec-модуль повинен згенерувати послідовний номер і записати його в поле Sequence Number. При встановленні SA послідовний номер встановлюється в 0, і перед відправкою кожного IPsec-пакета збільшується на одиницю. Крім того, відбувається перевірка — чи не зациклився лічильник. Якщо він досяг свого максимального значення, то він знову встановлюється в 0. Якщо використовується послуга щодо запобігання повторної передачі, то при досягненні лічильника свого максимального значення, що передає IPsec-модуль переустановлює SA. Таким чином забезпечується захист від повторної посилки пакета — приймальний IPsec-модуль буде перевіряти поле Sequence Number, і ігнорувати пакети, які приходять повторно. Далі відбувається обчислення контрольної суми ICV. Треба зауважити, що тут контрольна сума обчислюється із застосуванням секретного ключа, без якого зловмисник зможе заново обчислити хеш, але не знаючи ключа, не зможе сформувати правильну контрольну суму. Конкретні алгоритми, що використовуються для обчислення ICV, можна дізнатися з RFC 4305. В даний час можуть застосовуватися, наприклад, алгоритми HMAC-SHA1-96 або AES-XCBC-MAC-96. Протокол АН обчислює контрольну суму (ICV) за наступними полям IPsec-пакета:
- Поля IP-заголовка, що не були схильні до змін в процесі транслювання, або визначені як найважливіші
- АН-заголовок (Поля: «Next Header», "Payload Len, " Reserved ", " SPI ", " Sequence Number ", " Integrity Check Value «. Поле» Integrity Check Value "встановлюється в 0 при обчисленні ICV
- Дані протоколу верхнього рівня: Якщо поле може змінюватися в процесі транспортування, то його значення встановлюється в 0 перед обчисленням ICV. Винятки становлять поля, які можуть змінюватися, але значення яких можна передбачити при прийомі. При обчисленні ICV вони не заповнюються нулями. Прикладом змінюваного поля може служити поле контрольної суми, прикладом змінюваного, але зумовленого може бути IP-адресу одержувача. Докладніший опис того, які поля як враховуються при обчисленні ICV, можна знайти в стандарті RFC 2402.
Обробка вхідних IP-пакетів
Після отримання пакета, що містить повідомлення АН-протоколу, приймальний IPsec-модуль шукає відповідне захищене віртуальне з'єднання (SA) SADB (Security Associations Database), використовуючи IP-адресу одержувача, протокол безпеки (АН) і індекс SPI. Якщо відповідне SA не знайдено, пакет знищується. Знайдене захищене віртуальне з'єднання (SA) вказує на те, чи використовується послуга щодо запобігання повторної передачі пакетів, тобто на необхідність перевірки поля Sequence Number. Якщо послуга використовується, то поле перевіряється. Для цього використовується метод ковзаючого вікна. Приймальний IPsec-модуль формує вікно з шириною W. Лівий край вікна відповідає мінімальному послідовному номеру ( Sequence Number) N правильно прийнятого пакета. Пакет з полем Sequence Number, в якому міститься значення, починаючи від N +1 і закінчуючи N + W, приймається коректно. Якщо отриманий пакет виявляється по ліву межу вікна — він знищується. Потім приймальний IPsec-модуль обчислює ICV за відповідними полям прийнятого пакета, використовуючи алгоритм аутентифікації, який він дізнається з запису про SA, і порівнює отриманий результат із значенням ICV, розташованим в поле «Integrity Check Value». Якщо обчислене значення ICV збіглося з прийнятим, то прийшов пакет вважається дійсним і приймається для подальшої IP-обробки. Якщо перевірка дала негативний результат, то пакет який прийшов — знищується.
Encapsulating Security Payload
Offsets | Octet 16 | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Octet 16 | Bit 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 0 | Security Parameters Index (SPI) | |||||||||||||||||||||||||||||||
4 | 32 | Sequence Number | |||||||||||||||||||||||||||||||
8 | 64 | Payload data | |||||||||||||||||||||||||||||||
… | … | ||||||||||||||||||||||||||||||||
… | … | ||||||||||||||||||||||||||||||||
… | … | Padding (0-255 octets) | |||||||||||||||||||||||||||||||
… | … | Pad Length | Next Header | ||||||||||||||||||||||||||||||
… | … | Integrity Check Value (ICV) … | |||||||||||||||||||||||||||||||
… | … |
- Security Parameters Index (32 bits)
- Індекс параметрів безпеки. Значення цього поля разом з IP-адресою одержувача і протоколом безпеки (АН-протокол), однозначно визначає захищене віртуальне з'єднання (SA) для даного пакета. Діапазон значень SPI 1 … 255 зарезервований IANA для подальшого використання.
- Sequence Number (32 bits)
- Послідовний номер. Служить для захисту від повторної передачі. Поле містить монотонно зростаюче значення параметра. Незважаючи на те, що одержувач може і відмовитися від послуги із захисту від повторної передачі пакетів, воно завжди присутній в AH-заголовку. Відправник (передавальний IPsec-модуль) повинен завжди використовувати це поле, але одержувач може і не мати потребу в його обробці.
- Payload data (variable)
- Це поле містить дані відповідно до полем «Next Header». Це поле є обов'язковим і складається з цілого числа байтів. Якщо алгоритм, який використовується для шифрування цього поля, вимагає даних для синхронізації криптопроцесів (наприклад, вектор ініціалізації — «Initialization Vector»), то це поле може містити ці дані в явному вигляді.
- Padding (0-255 octets)
- Доповнення. Необхідно, наприклад, для алгоритмів, які вимагають, щоб відкритий текст був кратний певному числу байтів), наприклад, розміром блоку для блочного шифру.
- Pad Length (8 bits)
- Розмір доповнення (в байтах).
- Next Header (8 bits)
- Це поле визначає тип даних, що містяться в поле «Payload data».
- Integrity Check Value
- Контрольна сума. Повинна бути кратна 8-байтам для IPv6, і 4-байтам для IPv4.
Обробка вихідних IPsec-пакетів
Якщо передавальний IPsec-модуль визначає, що пакет пов'язаний з SA, яке передбачає ESP-обробку, то він починає обробку. В залежності від режиму (транспортний або режим тунелювання) вихідний IP-пакет обробляється по-різному. У транспортному режимі передавальний IPsec-модуль здійснює процедуру обрамлення (інкапсуляції) протоколу верхнього рівня (наприклад, TCP або UDP), використовуючи для цього ESP-заголовок і ESP-закінчення, не зачіпаючи при цьому заголовок вихідного IP -пакета. В режимі тунелювання IP-пакет обрамляється ESP-заголовком і ESP-закінченням, після чого обрамляється зовнішнім IP-заголовком. Далі проводиться шифрування-в транспортному режимі шифрується тільки повідомлення протоколу вище лежачого рівня (тобто все, що знаходилося після IP-заголовка у вихідному пакеті), в режимі тунелювання-весь вихідний IP-пакет. Передавальний IPsec-модуль із запису про SA визначає алгоритм шифрування і секретний ключ. Стандарти IPsec дозволяють використання алгоритмів шифрування triple-DES, AES і Blowfish. Так як розмір відкритого тексту повинен бути кратний певному числу байт, наприклад, розміром блоку для блокових алгоритмів, перед шифруванням проводиться ще й необхідне доповнення повідомлення що шифрується. Зашифроване повідомлення поміщається в поле Payload Data. В поле Pad Length поміщається довжина доповнення. Потім, як і в AH, обчислюється Sequence Number. Після чого вважається контрольна сума (ICV). Контрольна сума, на відміну від протоколу AH, де при її обчисленні враховуються також і деякі поля IP-заголовка, в ESP обчислюється тільки по полях ESP-пакета за вирахуванням поля ICV. Перед обчисленням контрольної суми воно заповнюється нулями. Алгоритм обчислення ICV, як і в протоколі AH, що передає IPsec-модуль визначається з запису про SA, з яким пов'язаний оброблюваний пакет.
Обробка вхідних IPsec-пакетів
Після отримання пакета, що містить повідомлення ESP-протоколу, приймальний IPsec-модуль шукає відповідне захищене віртуальне з'єднання (SA) в SADB (Security Associations Database), використовуючи IP-адресу одержувача, протокол безпеки (ESP) і індекс SPI. Якщо відповідне SA не знайдено, пакет знищується. Знайдене захищене віртуальне з'єднання (SA) вказує на те, чи використовується послуга щодо запобігання повторної передачі пакетів, тобто на необхідність перевірки поля Sequence Number. Якщо послуга використовується, то поле перевіряється. Для цього, так само як і в AH, використовується метод ковзаючого вікна. Приймальний IPsec-модуль формує вікно з шириною W. Лівий край вікна відповідає мінімальному послідовному номеру (Sequence Number) N правильно прийнятого пакета. Пакет з полем Sequence Number, в якому міститься значення, починаючи від N +1 і закінчуючи N + W, приймається коректно. Якщо отриманий пакет виявляється по ліву межу вікна — він знищується. Потім, якщо використовується послуга аутентифікації, приймальний IPsec-модуль обчислює ICV за відповідними полям прийнятого пакета, використовуючи алгоритм аутентифікації, який він дізнається з запису про SA, і порівнює отриманий результат із значенням ICV, розташованим в поле «Integrity Check Value». Якщо обчислене значення ICV збіглося з прийнятим, то прийшов пакет вважається дійсним. Якщо перевірка дала негативний результат, то пакет який прийшов — знищується. Далі проводиться розшифрування пакета. Приймальний IPsec-модуль дізнається з запису про SA, який алгоритм шифрування використовується, і секретний ключ. Треба зауважити, що перевірка контрольної суми і процедура розшифрування можуть проводитися не тільки послідовно, а й паралельно. В останньому випадку процедура перевірки контрольної суми повинна закінчитися раніше процедури розшифрування, і якщо перевірка ICV провалилася, процедура розшифрування також повинна припинитися. Це дозволяє швидше виявляти зіпсовані пакети, що, в свою чергу, підвищує рівень захисту від атак типу «відмова в обслуговуванні» (DOS-атаки). Далі розшифроване повідомлення відповідно до полем Next Header передається для подальшої обробки.
Використання
Протокол IPsec використовується, в основному, для організації VPN-тунелів. В цьому випадку протоколи ESP і AH працюють в режимі тунелювання. Крім того, налаштовуючи політики безпеки певним чином, протокол можна використовувати для створення міжмережевого екрану. Сенс міжмережевого екрану полягає в тому, що він контролює і фільтрує пакети, що проходять через нього, відповідно до заданих правил. Встановлюється набір правил, і екран переглядає всі пакети які проходять через нього. Якщо передані пакети потрапляють під дію цих правил, міжмережевий екран обробляє їх відповідним чином. Наприклад, він може відхиляти певні пакети, тим самим припиняючи небезпечні з'єднання. Налаштувавши політику безпеки відповідним чином, можна, наприклад, заборонити інтернет-трафік. Для цього достатньо заборонити відсилання пакетів, в які вкладаються повідомлення протоколів HTTP та HTTPS. IPsec можна застосовувати і для захисту серверів — для цього відкидаються всі пакети, окрім пакетів, необхідних для коректного виконання функцій сервера. Наприклад, для Web-сервера можна блокувати весь трафік, за винятком з'єднань через 80-й порт протоколу TCP, або через порт TCP 443 у випадках, коли застосовується HTTPS.
Посилання
- IPSec — протокол захисту мережевого трафіку на IP-рівні. [ 28 січня 2012 у Wayback Machine.] iXBT.com
- Базова реалізація бібліотек для роботи з IPsec для Unix-подібних систем [ 13 листопада 2010 у Wayback Machine.]
- Домашня сторінка проекту Open S/WAN [ 4 лютого 2012 у Wayback Machine.]
- Домашня сторінка проекту strongSwan [ 2 листопада 2005 у Wayback Machine.]
- An Illustrated Guide to IPsec [ 19 серпня 2010 у Wayback Machine.]
- Опис налаштування IPSec (cisco.com) [ 19 січня 2012 у Wayback Machine.] (англ.)
Це незавершена стаття про комп'ютерні мережі. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття потребує додаткових для поліпшення її . (жовтень 2016) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
IPsec skorochennya vid IP Security nabir protokoliv dlya zabezpechennya zahistu danih sho peredayutsya za dopomogoyu protokolu IP dozvolyaye zdijsnyuvati pidtverdzhennya spravzhnosti ta abo shifruvannya IP paketiv IPsec takozh mistit v sobi protokoli dlya zahishenogo obminu klyuchami v merezhi Internet StandartiRFC 2401 Security Architecture for the Internet Protocol Arhitektura zahistu dlya protokolu IP RFC 2402 IP Authentication header autentifikacijni zagolovok IP RFC 2403 The Use of HMAC MD5 96 within ESP and AH Vikoristannya algoritmu heshuvannya MD 5 dlya stvorennya autentifikacijni zagolovka RFC 2404 The Use of HMAC SHA 1 96 within ESP and AH Vikoristannya algoritmu heshuvannya SHA 1 dlya stvorennya autentifikacijni zagolovka RFC 2405 The ESP DES CBC Cipher Algorithm With Explicit IV Vikoristannya algoritmu shifruvannya DES RFC 2406 IP Encapsulating Security Payload ESP Shifruvannya danih RFC 2407 The Internet IP Security Domain of Interpretation for ISAKMP Oblast zastosuvannya protokolu upravlinnya klyuchami RFC 2408 Internet Security Association and Key Management Protocol ISAKMP Upravlinnya klyuchami i autentifikatorom zahishenih z yednan RFC 2409 The Internet Key Exchange IKE Obmin klyuchami RFC 2410 The NULL Encryption Algorithm and Its Use With IPsec Nulovij algoritm shifruvannya i jogo vikoristannya RFC 2411 IP Security Document Roadmap Podalshij rozvitok standartu RFC 2412 The OAKLEY Key Determination Protocol Perevirka vidpovidnosti klyucha Arhitektura IPsecProtokoli IPsec na vidminu vid inshih dobre vidomih protokoliv SSL ta TLS pracyuyut na merezhevomu rivni riven 3 modeli OSI Ce robit IPsec gnuchkishim tak sho vin mozhe vikoristovuvatisya dlya zahistu bud yakih protokoliv sho bazuyutsya na TCP ta UDP IPsec mozhe vikoristovuvatisya dlya zabezpechennya bezpeki mizh dvoma IP vuzlami mizh dvoma shlyuzami bezpeki abo mizh IP vuzlom i shlyuzom bezpeki Protokol ye nadbudovoyu nad IP protokolom i obroblyaye sformovani IP paketi opisanim nizhche sposobom IPsec mozhe zabezpechuvati cilisnist ta abo konfidencijnist danih peredanih po merezhi IPsec vikoristovuye nastupni protokoli dlya vikonannya riznih funkcij Authentication Header AN zabezpechuye cilisnist virtualnogo z yednannya peredanih danih autentifikaciyu dzherela informaciyi ta dodatkovu funkciyu iz zapobigannya povtornoyi peredachi paketiv Encapsulating Security Payload ESP mozhe zabezpechiti konfidencijnist shifruvannya peredanoyi informaciyi obmezhennya potoku konfidencijnogo trafiku Krim cogo vin mozhe zabezpechiti cilisnist virtualnogo z yednannya peredanih danih autentifikaciyu dzherela informaciyi ta dodatkovu funkciyu iz zapobigannya povtornoyi peredachi paketiv Vsyakij raz koli zastosovuyetsya ESP v obov yazkovomu poryadku povinen vikoristovuvatisya toj chi inshij nabir danih poslug iz zabezpechennya bezpeki Security Association SA zabezpechuyut zv yazku algoritmiv i danih yaki nadayut parametri neobhidni dlya roboti AH i abo ESP Internet security association and key management protocol ISAKMP zabezpechuye osnovu dlya autentifikaciyi i obminu klyuchami perevirki avtentichnosti klyuchiv Security AssociationKoncepciya zahishenogo virtualnogo z yednannya SA Security Association ye fundamentalnoyu v arhitekturi IPsec SA ce simpleksne z yednannya yake formuyetsya dlya transportuvannya po nomu vidpovidnogo trafiku Pri realizaciyi poslug bezpeki formuyetsya SA na osnovi vikoristannya protokoliv AH abo ESP abo oboh odnochasno SA viznachenij vidpovidno do koncepciyi mizhterminalnogo z yednannya i mozhe funkcionuvati v dvoh rezhimah transportnij rezhim RTR i rezhim tunelyuvannya RTU Transportnij rezhim realizuyetsya pri SA mizh dvoma IP vuzlami V rezhimi tunelyuvannya formuye IP tunel Vsi SA zberigayutsya v bazi danih SADB Security Associations Database IPsec modulya Kozhne SA maye unikalnij marker sho skladayetsya z troh elementiv Indeksu parametra bezpeki SPI IP adresi priznachennya Identifikatora protokolu bezpeki ESP abo AH IPsec modul mayuchi ci tri parametri mozhe vidshukati v SADB zapis pro konkretnomu SA U spisok komponentiv SA vhodyat Poslidovnij nomer 32 bitove znachennya yake vikoristovuyetsya dlya formuvannya polyaSequence Number v zagolovkah AN i ESP Perepovnennya lichilnika poryadkovogo nomera Prapor yakij signalizuye pro perepovnennya lichilnika poslidovnogo nomera Vikno dlya pridushennya atak vidtvorennya Vikoristovuyetsya dlya viznachennya povtornoyi peredachi paketiv Yaksho znachennya v poliSequence Number ne potraplyaye v zadanij diapazon to paket znishuyetsya Informaciya AH vikoristovuvanij algoritm autentifikaciyi neobhidni klyuchi chas zhittya klyuchiv ta inshi parametri Informaciya ESP algoritmi shifruvannya i autentifikaciyi neobhidni klyuchi parametri inicializaciyi napriklad IV chas zhittya klyuchiv ta inshi parametri Rezhim roboti IPsec tunelnij abo transportnij MTU Maksimalnij rozmir paketa yakij mozhna peredati po virtualnomu kanalu bez fragmentaciyi Tak yak zahisheni virtualni z yednannya ye simpleksnimi to dlya organizaciyi dupleksnogo kanalu yak minimum potribni dva SA Krim cogo kozhen protokol ESP AH povinen mati svoyu vlasnu SA dlya kozhnogo napryamku tobto zv yazka AH ESP vimagaye nayavnosti chotiroh SA Vsi ci dani roztashovuyutsya v SADB V SADB mistyatsya AH algoritm autentifikaciyi AH sekretnij klyuch dlya autentifikaciyi ESP algoritm shifruvannya ESP sekretnij klyuch shifruvannya ESP vikoristannya autentifikaciyi tak ni Parametri dlya obminu klyuchami Obmezhennya marshrutizaciyi IP politika filtraciyi Krim bazi danih SADB realizaciyi IPsec pidtrimuyut bazu danih SPD Security Policy Database Baza danih politik bezpeki Zapis v SPD skladayetsya z naboru znachen poliv IP zagolovka i poliv zagolovka protokolu verhnogo rivnya Ci polya nazivayutsya selektorami Selektori vikoristovuyutsya dlya filtraciyi vihidnih paketiv z metoyu postaviti kozhen paket u vidpovidnist z pevnim SA Koli formuyetsya paket porivnyuyutsya znachennya vidpovidnih poliv u paketi selektorni polya z timi yaki mistyatsya SPD Znahodyatsya vidpovidni SA Potim viznachayetsya SA u vipadku yaksho vono ye dlya paketa i pov yazanij z neyu indeks parametriv bezpeki SPI Pislya chogo vikonuyutsya operaciyi IPsec operaciyi protokolu AH abo ESP Prikladi selektoriv yaki mistyatsya v SPD IP adresa miscya priznachennya IP adresa vidpravnika Protokol IPsec AH ESP abo AH ESP Porti vidpravnika ta oderzhuvachaAuthentication HeaderAuthentication Header format Offsets Octet16 0 1 2 3 Octet16 Bit10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 Next Header Payload Len Reserved 4 32 Security Parameters Index SPI 8 64 Sequence Number C 96 Integrity Check Value ICV Next Header 8 bits Tip zagolovka protokolu sho jde pislya zagolovka AH Po comu polyu prijmalnij IP sec modul diznayetsya pro zahishayetsya protokoli verhnogo rivnya Znachennya cogo polya dlya riznih protokoliv mozhna podivitisya v RFC 1700 Payload Len 8 bits Ce pole viznachaye zagalnij rozmir AN zagolovka v 32 bitovih slovah minus 2 Nezvazhayuchi na ce pri vikoristanni IPv6 dovzhina zagolovka povinna buti kratna 8 bajtam Reserved 16 bits Zarezervovano Zapovnyuyetsya nulyami Security Parameters Index 32 bits Indeks parametriv bezpeki Znachennya cogo polya razom z IP adresoyu oderzhuvacha i protokolom bezpeki AN protokol odnoznachno viznachaye zahishene virtualne z yednannya SA dlya danogo paketa Diapazon znachen SPI 1 255 zarezervovanij IANA Sequence Number 32 bits Poslidovnij nomer Sluzhit dlya zahistu vid povtornoyi peredachi Pole mistit monotonno zrostayuche znachennya parametra Nezvazhayuchi na te sho oderzhuvach mozhe vidmovitisya vid poslugi iz zahistu vid povtornoyi peredachi paketiv vono ye obov yazkovim i zavzhdi prisutnij v AH zagolovku Peredavalnij IPsec modul zavzhdi vikoristovuye ce pole ale oderzhuvach mozhe jogo i ne obroblyati Integrity Check Value Kontrolna suma Povinna buti kratna 8 bajtam dlya IPv6 i 4 bajtam dlya IPv4 Protokol AH vikoristovuyetsya dlya autentifikaciyi tobto dlya pidtverdzhennya togo sho mi zv yazuyemosya same z tim z kim pripuskayemo i sho dani yaki mi otrimuyemo ne spotvoreni pri peredachi Obrobka vihidnih IP paketiv Yaksho peredavalnij IPsec modul viznachaye sho paket pov yazanij z SA yake peredbachaye AH obrobku to vin pochinaye obrobku V zalezhnosti vid rezhimu transportnij abo rezhim tunelyuvannya vin po riznomu vstavlyaye AH zagolovok v IP paket U transportnomu rezhimi AH zagolovok roztashovuyetsya pislya zagolovka protokolu IP i pered zagolovkami protokoliv verhnogo rivnya Zazvichaj TCP abo UDP V rezhimi tunelyuvannya ves vihidnij IP paket obramlyayetsya spochatku zagolovkom AH potim zagolovkom IP protokolu Takij zagolovok nazivayetsya zovnishnim a zagolovok vihidnogo IP paketa vnutrishnim Pislya cogo peredavalnij IPsec modul povinen zgeneruvati poslidovnij nomer i zapisati jogo v poleSequence Number Pri vstanovlenni SA poslidovnij nomer vstanovlyuyetsya v 0 i pered vidpravkoyu kozhnogo IPsec paketa zbilshuyetsya na odinicyu Krim togo vidbuvayetsya perevirka chi ne zaciklivsya lichilnik Yaksho vin dosyag svogo maksimalnogo znachennya to vin znovu vstanovlyuyetsya v 0 Yaksho vikoristovuyetsya posluga shodo zapobigannya povtornoyi peredachi to pri dosyagnenni lichilnika svogo maksimalnogo znachennya sho peredaye IPsec modul pereustanovlyuye SA Takim chinom zabezpechuyetsya zahist vid povtornoyi posilki paketa prijmalnij IPsec modul bude pereviryati poleSequence Number i ignoruvati paketi yaki prihodyat povtorno Dali vidbuvayetsya obchislennya kontrolnoyi sumi ICV Treba zauvazhiti sho tut kontrolna suma obchislyuyetsya iz zastosuvannyam sekretnogo klyucha bez yakogo zlovmisnik zmozhe zanovo obchisliti hesh ale ne znayuchi klyucha ne zmozhe sformuvati pravilnu kontrolnu sumu Konkretni algoritmi sho vikoristovuyutsya dlya obchislennya ICV mozhna diznatisya z RFC 4305 V danij chas mozhut zastosovuvatisya napriklad algoritmi HMAC SHA1 96 abo AES XCBC MAC 96 Protokol AN obchislyuye kontrolnu sumu ICV za nastupnimi polyam IPsec paketa Polya IP zagolovka sho ne buli shilni do zmin v procesi translyuvannya abo viznacheni yak najvazhlivishi AN zagolovok Polya Next Header Payload Len Reserved SPI Sequence Number Integrity Check Value Pole Integrity Check Value vstanovlyuyetsya v 0 pri obchislenni ICV Dani protokolu verhnogo rivnya Yaksho pole mozhe zminyuvatisya v procesi transportuvannya to jogo znachennya vstanovlyuyetsya v 0 pered obchislennyam ICV Vinyatki stanovlyat polya yaki mozhut zminyuvatisya ale znachennya yakih mozhna peredbachiti pri prijomi Pri obchislenni ICV voni ne zapovnyuyutsya nulyami Prikladom zminyuvanogo polya mozhe sluzhiti pole kontrolnoyi sumi prikladom zminyuvanogo ale zumovlenogo mozhe buti IP adresu oderzhuvacha Dokladnishij opis togo yaki polya yak vrahovuyutsya pri obchislenni ICV mozhna znajti v standarti RFC 2402 Obrobka vhidnih IP paketiv Pislya otrimannya paketa sho mistit povidomlennya AN protokolu prijmalnij IPsec modul shukaye vidpovidne zahishene virtualne z yednannya SA SADB Security Associations Database vikoristovuyuchi IP adresu oderzhuvacha protokol bezpeki AN i indeks SPI Yaksho vidpovidne SA ne znajdeno paket znishuyetsya Znajdene zahishene virtualne z yednannya SA vkazuye na te chi vikoristovuyetsya posluga shodo zapobigannya povtornoyi peredachi paketiv tobto na neobhidnist perevirki polyaSequence Number Yaksho posluga vikoristovuyetsya to pole pereviryayetsya Dlya cogo vikoristovuyetsya metod kovzayuchogo vikna Prijmalnij IPsec modul formuye vikno z shirinoyu W Livij kraj vikna vidpovidaye minimalnomu poslidovnomu nomeru Sequence Number N pravilno prijnyatogo paketa Paket z polemSequence Number v yakomu mistitsya znachennya pochinayuchi vid N 1 i zakinchuyuchi N W prijmayetsya korektno Yaksho otrimanij paket viyavlyayetsya po livu mezhu vikna vin znishuyetsya Potim prijmalnij IPsec modul obchislyuye ICV za vidpovidnimi polyam prijnyatogo paketa vikoristovuyuchi algoritm autentifikaciyi yakij vin diznayetsya z zapisu pro SA i porivnyuye otrimanij rezultat iz znachennyam ICV roztashovanim v pole Integrity Check Value Yaksho obchislene znachennya ICV zbiglosya z prijnyatim to prijshov paket vvazhayetsya dijsnim i prijmayetsya dlya podalshoyi IP obrobki Yaksho perevirka dala negativnij rezultat to paket yakij prijshov znishuyetsya Encapsulating Security PayloadEncapsulating Security Payload format Offsets Octet 16 0 1 2 3 Octet 16 Bit 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 Security Parameters Index SPI 4 32 Sequence Number 8 64 Payload data Padding 0 255 octets Pad Length Next Header Integrity Check Value ICV Security Parameters Index 32 bits Indeks parametriv bezpeki Znachennya cogo polya razom z IP adresoyu oderzhuvacha i protokolom bezpeki AN protokol odnoznachno viznachaye zahishene virtualne z yednannya SA dlya danogo paketa Diapazon znachen SPI 1 255 zarezervovanij IANA dlya podalshogo vikoristannya Sequence Number 32 bits Poslidovnij nomer Sluzhit dlya zahistu vid povtornoyi peredachi Pole mistit monotonno zrostayuche znachennya parametra Nezvazhayuchi na te sho oderzhuvach mozhe i vidmovitisya vid poslugi iz zahistu vid povtornoyi peredachi paketiv vono zavzhdi prisutnij v AH zagolovku Vidpravnik peredavalnij IPsec modul povinen zavzhdi vikoristovuvati ce pole ale oderzhuvach mozhe i ne mati potrebu v jogo obrobci Payload data variable Ce pole mistit dani vidpovidno do polem Next Header Ce pole ye obov yazkovim i skladayetsya z cilogo chisla bajtiv Yaksho algoritm yakij vikoristovuyetsya dlya shifruvannya cogo polya vimagaye danih dlya sinhronizaciyi kriptoprocesiv napriklad vektor inicializaciyi Initialization Vector to ce pole mozhe mistiti ci dani v yavnomu viglyadi Padding 0 255 octets Dopovnennya Neobhidno napriklad dlya algoritmiv yaki vimagayut shob vidkritij tekst buv kratnij pevnomu chislu bajtiv napriklad rozmirom bloku dlya blochnogo shifru Pad Length 8 bits Rozmir dopovnennya v bajtah Next Header 8 bits Ce pole viznachaye tip danih sho mistyatsya v pole Payload data Integrity Check Value Kontrolna suma Povinna buti kratna 8 bajtam dlya IPv6 i 4 bajtam dlya IPv4 Obrobka vihidnih IPsec paketiv Yaksho peredavalnij IPsec modul viznachaye sho paket pov yazanij z SA yake peredbachaye ESP obrobku to vin pochinaye obrobku V zalezhnosti vid rezhimu transportnij abo rezhim tunelyuvannya vihidnij IP paket obroblyayetsya po riznomu U transportnomu rezhimi peredavalnij IPsec modul zdijsnyuye proceduru obramlennya inkapsulyaciyi protokolu verhnogo rivnya napriklad TCP abo UDP vikoristovuyuchi dlya cogo ESP zagolovok i ESP zakinchennya ne zachipayuchi pri comu zagolovok vihidnogo IP paketa V rezhimi tunelyuvannya IP paket obramlyayetsya ESP zagolovkom i ESP zakinchennyam pislya chogo obramlyayetsya zovnishnim IP zagolovkom Dali provoditsya shifruvannya v transportnomu rezhimi shifruyetsya tilki povidomlennya protokolu vishe lezhachogo rivnya tobto vse sho znahodilosya pislya IP zagolovka u vihidnomu paketi v rezhimi tunelyuvannya ves vihidnij IP paket Peredavalnij IPsec modul iz zapisu pro SA viznachaye algoritm shifruvannya i sekretnij klyuch Standarti IPsec dozvolyayut vikoristannya algoritmiv shifruvannya triple DES AES i Blowfish Tak yak rozmir vidkritogo tekstu povinen buti kratnij pevnomu chislu bajt napriklad rozmirom bloku dlya blokovih algoritmiv pered shifruvannyam provoditsya she j neobhidne dopovnennya povidomlennya sho shifruyetsya Zashifrovane povidomlennya pomishayetsya v polePayload Data V polePad Length pomishayetsya dovzhina dopovnennya Potim yak i v AH obchislyuyetsyaSequence Number Pislya chogo vvazhayetsya kontrolna suma ICV Kontrolna suma na vidminu vid protokolu AH de pri yiyi obchislenni vrahovuyutsya takozh i deyaki polya IP zagolovka v ESP obchislyuyetsya tilki po polyah ESP paketa za virahuvannyam polya ICV Pered obchislennyam kontrolnoyi sumi vono zapovnyuyetsya nulyami Algoritm obchislennya ICV yak i v protokoli AH sho peredaye IPsec modul viznachayetsya z zapisu pro SA z yakim pov yazanij obroblyuvanij paket Obrobka vhidnih IPsec paketiv Pislya otrimannya paketa sho mistit povidomlennya ESP protokolu prijmalnij IPsec modul shukaye vidpovidne zahishene virtualne z yednannya SA v SADB Security Associations Database vikoristovuyuchi IP adresu oderzhuvacha protokol bezpeki ESP i indeks SPI Yaksho vidpovidne SA ne znajdeno paket znishuyetsya Znajdene zahishene virtualne z yednannya SA vkazuye na te chi vikoristovuyetsya posluga shodo zapobigannya povtornoyi peredachi paketiv tobto na neobhidnist perevirki polya Sequence Number Yaksho posluga vikoristovuyetsya to pole pereviryayetsya Dlya cogo tak samo yak i v AH vikoristovuyetsya metod kovzayuchogo vikna Prijmalnij IPsec modul formuye vikno z shirinoyu W Livij kraj vikna vidpovidaye minimalnomu poslidovnomu nomeru Sequence Number N pravilno prijnyatogo paketa Paket z polem Sequence Number v yakomu mistitsya znachennya pochinayuchi vid N 1 i zakinchuyuchi N W prijmayetsya korektno Yaksho otrimanij paket viyavlyayetsya po livu mezhu vikna vin znishuyetsya Potim yaksho vikoristovuyetsya posluga autentifikaciyi prijmalnij IPsec modul obchislyuye ICV za vidpovidnimi polyam prijnyatogo paketa vikoristovuyuchi algoritm autentifikaciyi yakij vin diznayetsya z zapisu pro SA i porivnyuye otrimanij rezultat iz znachennyam ICV roztashovanim v pole Integrity Check Value Yaksho obchislene znachennya ICV zbiglosya z prijnyatim to prijshov paket vvazhayetsya dijsnim Yaksho perevirka dala negativnij rezultat to paket yakij prijshov znishuyetsya Dali provoditsya rozshifruvannya paketa Prijmalnij IPsec modul diznayetsya z zapisu pro SA yakij algoritm shifruvannya vikoristovuyetsya i sekretnij klyuch Treba zauvazhiti sho perevirka kontrolnoyi sumi i procedura rozshifruvannya mozhut provoditisya ne tilki poslidovno a j paralelno V ostannomu vipadku procedura perevirki kontrolnoyi sumi povinna zakinchitisya ranishe proceduri rozshifruvannya i yaksho perevirka ICV provalilasya procedura rozshifruvannya takozh povinna pripinitisya Ce dozvolyaye shvidshe viyavlyati zipsovani paketi sho v svoyu chergu pidvishuye riven zahistu vid atak tipu vidmova v obslugovuvanni DOS ataki Dali rozshifrovane povidomlennya vidpovidno do polemNext Header peredayetsya dlya podalshoyi obrobki VikoristannyaProtokol IPsec vikoristovuyetsya v osnovnomu dlya organizaciyi VPN tuneliv V comu vipadku protokoli ESP i AH pracyuyut v rezhimi tunelyuvannya Krim togo nalashtovuyuchi politiki bezpeki pevnim chinom protokol mozhna vikoristovuvati dlya stvorennya mizhmerezhevogo ekranu Sens mizhmerezhevogo ekranu polyagaye v tomu sho vin kontrolyuye i filtruye paketi sho prohodyat cherez nogo vidpovidno do zadanih pravil Vstanovlyuyetsya nabir pravil i ekran pereglyadaye vsi paketi yaki prohodyat cherez nogo Yaksho peredani paketi potraplyayut pid diyu cih pravil mizhmerezhevij ekran obroblyaye yih vidpovidnim chinom Napriklad vin mozhe vidhilyati pevni paketi tim samim pripinyayuchi nebezpechni z yednannya Nalashtuvavshi politiku bezpeki vidpovidnim chinom mozhna napriklad zaboroniti internet trafik Dlya cogo dostatno zaboroniti vidsilannya paketiv v yaki vkladayutsya povidomlennya protokoliv HTTP ta HTTPS IPsec mozhna zastosovuvati i dlya zahistu serveriv dlya cogo vidkidayutsya vsi paketi okrim paketiv neobhidnih dlya korektnogo vikonannya funkcij servera Napriklad dlya Web servera mozhna blokuvati ves trafik za vinyatkom z yednan cherez 80 j port protokolu TCP abo cherez port TCP 443 u vipadkah koli zastosovuyetsya HTTPS PosilannyaIPSec protokol zahistu merezhevogo trafiku na IP rivni 28 sichnya 2012 u Wayback Machine iXBT com Bazova realizaciya bibliotek dlya roboti z IPsec dlya Unix podibnih sistem 13 listopada 2010 u Wayback Machine Domashnya storinka proektu Open S WAN 4 lyutogo 2012 u Wayback Machine Domashnya storinka proektu strongSwan 2 listopada 2005 u Wayback Machine An Illustrated Guide to IPsec 19 serpnya 2010 u Wayback Machine Opis nalashtuvannya IPSec cisco com 19 sichnya 2012 u Wayback Machine angl Ce nezavershena stattya pro komp yuterni merezhi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno zhovten 2016