Курс по анонимности и безопасности в сети
Предыдущая глава Следующая глава

Глава 158

Выбираем безопасный VPN: алгоритм шифрования, длина ключа и аутентификация данных.

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

Алгоритм шифрования

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

OpenVPN предлагает два алгоритма шифрования: AES и Blowfish. Оба эти алгоритма зарекомендовали себя как надежные, и если вы не математик, вам нет смысла разбираться в их архитектуре.

Я в своих решениях использую AES. В мануалах по OpenVPN Technologies рекомендуется использовать Blowfish, так как он чуть быстрее AES.

Длина ключа

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

Сегодня VPN-провайдеры предлагают 128- и 256-битные ключи. С полей математиков-криптологов поступает информация, что на 2018 год ключ длиной 128 бит можно расшифровать только в специальных датацентрах на очень больших мощностях и это займет очень много времени. Компьютер, способный расшифровать данные, зашифрованные ключом 256 бит, по мнению ученых, пока еще не изобретен.

По утверждениям многих VPN-провайдеров, ключ длиной 128 бит является оптимальным решением в плане безопасности и производительности. При использовании 128-битного ключа шифрование происходит быстрее, нежели при ключе в 256 бит, создает меньше нагрузки на сервер и на устройство пользователя.

Мы проводили тест. Взяли один из телефонов на базе операционной системы Android и поставили на него OpenVPN с файлом параметров генерации сессионного ключа на базе RSA с длиной 2048 бит (OpenVPN RSA 2048 / AES 128 – надеюсь, вам теперь понятны эти данные). При активном веб-серфинге расход батареи вырос на 12%, ввиду того, что устройство тратило ресурсы на шифрование и расшифровку трафика.

При использовании OpenVPN RSA 4096 / AES 256 при активном веб-серфинге расход вырос на 26%. Например, если без VPN устройство позволяло 8 часов «активно сидеть» в интернете, то с использованием OpenVPN RSA 4096 / AES 256 – лишь около 6.

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

Аутентификация данных

Есть еще один показатель, который влияет на требуемые мощности и скорость работы VPN, это – аутентификация данных.

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

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

Цезарь и сенатор решили усложнить алгоритм и в дополнение к кодовому слову брать в гонцы только голубоглазых блондинов. В этом случае, даже если варвары перехватывали гонца и получали слово, они проваливались на фейс-контроле, так как о втором условии не подозревал даже сам гонец.

Аналогичным образом подписываются передаваемые данные при использовании VPN, для этого используются специальные алгоритмы хеширования. Пока просто запомните, что MD5 и SHA1 ‒ недостаточно надежные алгоритмы, а SHA512 и SHA256 – надежные алгоритмы.

На что еще стоит обратить внимание? Использование более криптостойкого алгоритма замедлит скорость работы VPN, потому VPN с MD5 всегда будет быстрее, чем с SHA512. 

В следующей главе мы на практике закрепим навыки оценки надежности VPN.

Надоело читать? Смотрите наш канал

YouTube канал от CyberYozh
Предыдущая глава
25768
Следующая глава