Чи дані завжди шифруються в комунікаціях IPv6?


30

Здається, я не можу отримати прямої відповіді на це запитання. У Вікіпедії сказано, що "IPsec є невід'ємною частиною базового набору протоколів в IPv6", але чи означає це, що ВСІ комунікації завжди шифруються, чи це означає, що шифрування необов’язкове, але пристрої повинні мати можливість його розуміти (чи слід його використовувати )?

Якщо шифрування необов’язкове, чи операційна система вирішує, чи використовувати шифрування, чи це додаток? Чи загалом популярні операційні системи та програмне забезпечення дозволяють шифрувати?

Я б сам це досліджував, але мені не вистачає зв'язку IPv6.

Оновлення: Гаразд, тому це необов'язково. Моє подальше запитання: як правило, це програма, яка визначає, чи використовувати шифрування, чи це операційна система?

Конкретний приклад. Уявіть, що у мене є остання версія Windows із вбудованою підтримкою ipv6, і я щось шукаю на ipv6.google.com за допомогою Mozilla Firefox. Чи було б це зашифровано?


16
IPSec - це як замок на дверях; це може бути частиною дверей, але це не означає, що двері обов'язково зачинені.
Кріс S

@Chris S: Чудовий коментар, у вас є мій голос за це.
SplinterReality

Відповіді:


31

Ні.

IPv6 має вбудований IPsec як частину протоколу, і це не є болтом, як це стосується IPv4. Однак це не означає, що це включено за замовчуванням, це просто означає, що це (теоретично) нижчі накладні витрати на мережевий стек.

Як правило, використання IPsec визначається на рівні IP мережевого стеку, і тому визначається самою системною політикою. наприклад, Система A може мати політику, яка вимагає, щоб AH та ESP мали будь-яке спілкування з підмережею 4.0.0.0/8.

Оновлення: щоб зрозуміти, додаток не хвилює - він просто знає, що він повинен десь відкрити мережеве з'єднання та надсилати / отримувати дані за ним. Потім система повинна з'ясувати, чи слід узгоджувати IPsec для заданого запитуваного з'єднання. IPsec дуже розроблений як механізм автентифікації / шифрування низького рівня і цілеспрямовано побудований так, що протоколи та програми вищого рівня не повинні турбуватися про це.

З цього приводу це просто ще один контроль безпеки на рівні мережі, і він не повинен використовуватися ізольовано або на нього покладатися, щоб гарантувати "безпеку" - якщо ви намагаєтеся вирішити та перевірити проблему автентифікації, цілком можливо, що вам потрібно додаток для примусової аутентифікації на рівні користувача, залишаючи при цьому автентифікацію на рівні машини на IPsec.


1
Дякую, що явно відкинули жахливо популярний міф.
Марцін

3
О, речі, які могли бути. Можливо, ми отримаємо це в IPv8 через кілька сотень років.
Майкл Хемптон

1
Я не згоден - шифрування має бути завжди можливим, а в кращому випадку - дуже простим. Обмеження певного типу контролю безпеки незалежно від існування інших елементів управління малопомітне щодо випадків використання, коли ви активно не хочете шифрування на рівні IP.
зростанняse

20

Коротка відповідь: Ні.

Довга відповідь: IPsec розглядався під час проектування IPv6, в тому сенсі, що, на відміну від IPv4, IPsec (при використанні) є частиною заголовка IPv6.

Більше пояснення: в IPv4 IPsec працює над самим IP. Це насправді протокол рівня 4, який маскується під протокол рівня 3 (так що звичайні протоколи L4 TCP та UDP все ще зможуть працювати). ESP (інкапсуляція корисного навантаження безпеки) не може переходити між IP-пакетами. Як результат, пакети IPsec зазвичай будуть сильно зниженою пропускною здатністю, якщо уникнути фрагментації. Крім того, оскільки він знаходиться на вершині IP, заголовок IP не захищений.

У IPv6 IPsec є частиною самого IP. Він може охоплювати пакети, оскільки заголовок ESP тепер є частиною заголовка IP. А оскільки він інтегрований з IP, можна захистити більше частин заголовка IP.

Я сподіваюся, що моє "в двох словах" пояснення досить зрозуміле.


1
Насправді, AH підписує весь пакет, тобто нічого не можна змінити (тобто NAT його порушує). Ось чому дуже мало тунелів IPSec насправді використовують AH. І це одна з багатьох заголовків розширень , а не буквально "частина заголовка IP".
Рікі Бім

2

До наступного питання:

Операційна система визначає, коли використовувати шифрування. Ці параметри "політики" знаходяться в панелях управління / політиці конфігурації. Ви говорите такі речі, як "якщо ви хочете підключитися до будь-якої адреси в підмережі ab12 :: ви повинні мати секрет Blah1234". Є варіанти використання PKI.

Наразі додаток не може додати до цієї політики або вимагати, щоб ця політика була налаштована. У розділі ipv6 для linux socket ipv6 згадується "Підтримка IPSec для заголовків EH та AH відсутня", тому люди подумали про це, але наразі невідомі робочі реалізації.


1

На ваше подальше запитання так і ні.

Програми можуть задавати шифрування, але шифрування здійснюється на рівні програми. Існує велика кількість пар незашифрованих / зашифрованих протоколів, що використовують різні порти, такі як HTTP / HTTPS, LDAP / LDAPS, IMAP / IMAPS та SMTP / SSMTP. Усі вони використовують шифрування SSL або TLS. Деякі служби пропонують опцію startTLS, яка дозволяє запустити зашифроване з'єднання на звичайно незашифрованому порту. SSH - програма, яка завжди використовує зашифроване з'єднання. Шифрування для цих випадків закінчується кінцем. (Є алгоритм шифрування NULL, який можна використовувати, і зашифрований вміст буде транспортуватися незашифрованим.)

IPSEC налаштований адміністратором, і додаток не буде знати, зашифровано чи ні з'єднання. Я в основному бачив, що IPSEC використовувався для мостування трафіку між локальними мережами через незахищені з'єднання (VPN-з'єднання). Я вважаю, що IPSEC може застосовуватися лише до частини маршруту, тому на деяких сегментах мережі дані передаються чітко (незашифровано).

Враховуючи вибір, я буду використовувати шифрування додатків, оскільки мережеве шифрування використовується не дуже.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.