З’ясування різниці між типами VPN може збити з пантелику – особливо якщо ви новачок у світі VPN. Для тих, хто не знайомий з VPN-протоколами, порівняння можуть здатися набором випадкових букв і цифр, які нічого не означають.
Щоб допомогти вам прояснити ситуацію, ми пропустимо всі алгоритми і жаргон, щоб показати вам реальні відмінності між протоколами, які використовують найкращі сучасні VPN для захисту ваших особистих даних, і тими, які просто більше не використовуються.
Що таке протокол VPN?
Протокол VPN – це набір правил, які визначають, як безпечно передавати дані між вашим пристроєм і VPN-сервером. Протоколи необхідні для того, щоб VPN-сервер розумів дані, які ви надсилаєте, коли ви підключаєтеся до нього, і згодом розумів, як їх обробити та відповісти на них.
Всі протоколи VPN створюють безпечне з’єднання (або намагаються це зробити), але не всі вони роблять це однаково. Протоколи відрізняються методами шифрування, процесами аутентифікації та способами передачі даних.
Тому, щоб пояснити, чому деякі протоколи є незахищеними, потрібно спочатку обговорити різницю між асиметричним і симетричним шифруванням.
Більшість ваших даних передається за допомогою симетричного шифрування. Цей метод використовує один і той же ключ для шифрування і дешифрування – і це робить його простим у використанні без значних накладних витрат на обробку. Однак недоліком симетричного шифрування є те, що обидві сторони повинні знати один і той самий ключ шифрування.
Це створює фундаментальну проблему: як безпечно передати симетричний ключ стороні, яку ви ніколи раніше не зустрічали, без того, щоб його перехопила третя сторона?
Саме тут на допомогу приходить асиметричне шифрування. При асиметричному шифруванні ключ ділиться на ключ шифрування («відкритий») і ключ дешифрування («закритий»). Ви надаєте свій відкритий ключ стороні, з якою хочете захистити передачу. Вони використовують ваш відкритий ключ для шифрування інформації, а потім ви розшифровуєте її за допомогою свого закритого ключа. Щоб відправити дані назад, ви шифруєте їхнім відкритим ключем і так далі.
Цей процес є більш складним і дорогим в обчислювальному плані, тому асиметричне шифрування зазвичай використовується тільки для передачі початкового симетричного ключа шифрування. Після безпечної передачі симетричного ключа симетричне шифрування використовується для решти комунікації.
Перевірені в боях протоколи, такі як OpenVPN і WireGuard, керують цим процесом обміну ключами без очевидних недоліків, що дозволяє легко створювати нові зашифровані тунелі без перехоплення третіми сторонами. Однак, принаймні один протокол має фундаментальні недоліки в процесі передачі ключів, що робить його вразливим до злому.
Отже, давайте розглянемо його ближче – PPTP.
Чи безпечний PPTP?
PPTP, що розшифровується як Point-to-Point Tunneling Protocol, є власним VPN-протоколом Microsoft, розробленим для Windows.
Однак, він має багато проблем, і їх занадто багато, щоб детально розглядати їх тут. Однак ми зупинимось на головній проблемі, яка полягає в тому, що асиметричний ключ, який використовується для узгодження сеансу, не є безпечним.
PPTP використовує MS-CHAPv2 від Microsoft для узгодження ключів, який базується на існуючих стандартах автентифікації Microsoft. По суті, якщо у вас вже є мережа з комп’ютерів Microsoft, які спілкуються між собою, ви можете підключити PPTP VPN, не вносячи жодних змін до способу перевірки автентичності.
PPTP використовує цю існуючу інфраструктуру для створення ключа сеансу. Потім цей ключ використовується для створення шифрування, необхідного для потокової передачі даних за допомогою схеми шифрування RC4 між клієнтами VPN.
Асиметричний ключ, який використовується для узгодження сеансів PPTP, не є безпечним.
Однак, в роботі MS-CHAPv2 є фундаментальний недолік – його легко зламати за допомогою брутфорс атаки. Фактично, в залежності від обчислювальних ресурсів, які ви маєте під рукою, ви можете зламати ключ сеансу протягом дня.
PPTP також не забезпечує ідеальну пряму секретність за замовчуванням, а це означає, що після злому сеансового ключа він може бути використаний для розшифровки попередніх сеансів. Існує також проблема з тим, як працює RC4. По суті, ви не можете перевірити, чи були дані, надіслані через RC4, перехоплені та змінені під час передачі, тому, якщо ви використовуєте PPTP, хакер може прочитати все, що ви надсилаєте через VPN, і змінити дані за власним бажанням.
Хоча існують дещо безпечніші реалізації PPTP, які відмовляються від MS-CHAPv2 на користь криптографії з відкритим ключем, про яку було згадано раніше, немає реальної причини використовувати PPTP, якщо тільки ви не намагаєтеся підтримувати застарілі системи.
Що стосується комерційних VPN? Я б не давав жодному VPN-провайдеру, який все ще пропонує PPTP, жодного шансу. Навіть Microsoft пропонує відмовитися від PPTP і замість нього використовувати альтернативне VPN-рішення.
Чи безпечний IPSec?
Аргументи проти PPTP досить вагомі, але причини моїх сумнівів щодо IPSec і L2TP складніше пояснити.
Щоб дати вам невелику довідку, L2TP будує зашифрований тунель, а IPSec – це пакет безпеки, який забезпечує аутентифікацію і шифрування вмісту, що надсилається через тунель. У поєднанні вони утворюють повністю зашифрований протокол VPN.
Отже, коли ми говоримо про VPN, IPSec і L2TP зазвичай обговорюються разом, навіть якщо ми маємо на увазі лише один з них.
Невідомо, в чому саме полягає небезпека IPSec/L2TP. Однак витоки, надані Едвардом Сноуденом у 2014 році, показали, що АНБ і GCHQ зацікавлені в розшифровці якомога більшої кількості VPN-трафіку для підтримки своїх програм SIGINT. В рамках цієї програми передбачається, що АНБ має розшифрувати значну частину світового інтернет-трафіку, що передається через IPSec/L2TP.
Це може означати, що сам пакет IPSec містить вразливість або був навмисно ослаблений для полегшення розшифровки, а також, що АНБ скомпрометувало ключову інтернет-інфраструктуру іншими способами, не пов’язаними з власне протоколом, який дозволяє їм розшифровувати трафік.
Без реальних технічних реалізацій, які б підтверджували його заяви, важко точно сказати, чому IPSec є незахищеним.
Тим не менш, витоку документів достатньо, щоб змусити мене триматися подалі від IPSec – принаймні, в тому, що стосується IKEv1. На щастя, IKEv2 замінив IKEv1 в більшості реалізацій, побудованих на основі IPSec, і він здається набагато більш безпечним протоколом.
Які протоколи VPN безпечні?
OpenVPN вважається золотим стандартом безпеки VPN. Це протокол з відкритим вихідним кодом, якому довіряють сотні тисяч організацій по всьому світу, і він побудований на основі бібліотеки OpenSSL, яка забезпечує шифрування, що використовується практично на кожному веб-сайті.
Якщо ви шукаєте безпечну VPN і помітили, що потенційний кандидат використовує OpenVPN – це надійний варіант. При правильному налаштуванні він практично куленепробивний.
Ще є WireGuard. Він майже такий же безпечний, як і OpenVPN, але за замовчуванням має одну помітну проблему. WireGuard зберігає ваш IP при виконанні перетворення мережевих адрес. Отже, якщо хакер або співробітник зламає VPN-сервер, він зможе прив’язати ваш трафік до вашої IP-адреси. На щастя, VPN-провайдери можуть досить легко це виправити.
OpenVPN вважається золотим стандартом безпеки VPN.
Щоб вирішити цю проблему, провідні VPN-провайдери, які пропонують WireGuard, використовують так званий підхід «double-NAT» для анонімізації вашого трафіку під час присвоєння йому адреси на їхніх серверах. Наприклад, NordVPN використовував цей підхід при створенні власного протоколу NordLynx на основі WireGuard.
До речі, коли мова йде про VPN-протоколи конкретного провайдера, важко оцінити їх у кожному конкретному випадку. Однак є кілька золотих правил, про які варто пам’ятати.
Одне з найважливіших, наприклад, полягає в тому, щоб переконатися, що протокол пройшов аудит третьою стороною. Провайдер VPN, який створив власний протокол, намагається повторити роботу потенційно сотень інженерів з програмного забезпечення, мереж і криптографії. На мою думку, будь-яка варта уваги VPN-мережа не проти дозволити сторонній фірмі перевірити свої продукти на предмет наявності потенційних вразливостей.
Аудити вказують на прозорі та орієнтовані на конфіденційність сервіси. Тому, де це можливо, шукайте провайдерів, які проходять такі перевірки на регулярній основі, наприклад, ExpressVPN і NordVPN.
Протоколи VPN і квантові обчислення
Квантові обчислення становлять потенційну загрозу для багатьох методів шифрування, в тому числі для протоколів VPN. Традиційні алгоритми шифрування покладаються на математичні проблеми, які важко розв’язати на класичних комп’ютерах, але які квантові комп’ютери можуть вирішити набагато легше.
Наприклад, квантові комп’ютери теоретично можуть зламати шифрування RSA, один з найпоширеніших методів асиметричного обміну ключами. Реальний вплив залежить від розвитку технології квантових обчислень та її практичних можливостей.
Наразі квантові комп’ютери ще недостатньо розвинені, щоб зламати ці методи шифрування у великих масштабах.
Дослідники вже розробили кілька алгоритмів, призначених для захисту від квантових атак у відповідь на потенційну загрозу. Пост-квантові алгоритми вже вбудовані в більшість бібліотек шифрування – і провідні VPN-провайдери, такі як NordVPN і ExpressVPN, вже інтегрують їх у свої протоколи шифрування VPN.