OpenVPN — программное решение с открытым исходным кодом, предназначенное для реализации виртуальных частных сетей — безопасных зашифрованных туннелей передачи информации через «опасную» сеть — интернет.
Для шифрования данных OpenVPN использует библиотеку OpenSSL. Это набор готовых криптографических решений с возможностью создания ключей шифрования и работы с сертификатами. Библиотека имеет открытый исходный код и совместима со многими операционными системами.
При установке защищенных соединений доступно использование двух методов шифрования OpenVPN — симметричного и асимметричного. Разница между ними заключается в создании и использовании ключей шифрования и дешифрования.
- Симметричное шифрование предполагает использование одного и того же ключа для шифрования и дешифрования. Ключ должен быть сгенерирован передающим узлом и распространен на все остальные по еще незащищенному каналу. Остается риск перехвата ключа и последующая утечка данных.
- При асимметричном шифровании для зашифровки используется один ключ, а расшифровка возможна только с помощью другого, отличного ключа. Приустановке соединения по открытой сети передается только ключ для шифрования, сгенерированный принимающей стороной. Перехват этого ключа злоумышленнику не дает возможности расшифровать данные, а ключ для дешифровки вообще не попадает в сеть.
OpenVPN совместим со многими операционными системами. Для аппаратных межсетевых экранов на основе OpenVPN характерна высокая отказоустойчивость. При разрыве сетевого соединения защищенное соединение автоматически возобновляется сервером после восстановления канала связи. Благодаря библиотеке OpenSSL, безопасность соединений имеет высокий уровень. OpenVPN бесплатно и имеет открытый исходный код, позволяя разработчику управлять и совершенствовать собственный функционал.