Um protocolo VPN é o conjunto de instruções que o seu aplicativo de VPN usa para configurar, proteger e gerenciar a sua conexão com um servidor VPN. O OpenVPN é um protocolo VPN que não tem pontos fracos conhecidos e é eficaz para contornar certos métodos de censura on-line. O OpenVPN também tem a vantagem de ser compatível com uma enorme variedade de plataformas e dispositivos.

Existem implementações de código fechado do OpenVPN, mas também há uma Community Edition gratuita e de código aberto.

Neste artigo, analisamos detalhadamente como o OpenVPN funciona, como ele mantém a comunidade do Proton VPN segura e como ele se compara a outros protocolos VPN. Este artigo será mais útil se você já entender como uma VPN funciona.

Saiba mais sobre como uma VPN funciona

Lançado inicialmente em 2001, o OpenVPN está começando a mostrar a sua idade em termos de velocidade, desempenho e eficiência. No entanto, ele ainda é amplamente considerado seguro, uma percepção fortalecida por documentos revelados pelo denunciante da NSA, Edward Snowden, em 2013.

Obter o Proton VPN

Eles indicavam fortemente que, desde que você não usasse chaves pré-compartilhadas(nova janela), o OpenVPN era o único protocolo VPN de uso comum na época que a NSA não conseguia decifrar. O WireGuard®, um protocolo VPN mais recente e seguro, ainda não havia sido desenvolvido em 2013. Embora o WireGuard seja mais rápido, leve e eficiente, ele não consegue igualar o histórico comprovado do OpenVPN.

Prós do OpenVPN:

  • Código aberto
  • Segurança testada em combate
  • Pode funcionar via UDP ou TCP
  • Com amplo suporte

Contras do OpenVPN:

  • O desempenho atualmente não consegue se igualar ao do WireGuard (embora existam esforços para melhorar isso)
  • Base de código relativamente grande e complexa

O Proton VPN oferece suporte ao OpenVPN em todos os nossos aplicativos:

  • Windows 
  • macOS
  • Android
  • Android TV (via Smart Protocol)
  • iOS e iPadOS
  • Aplicativo Linux e CLI
  • Chrome OS

Como o OpenVPN me mantém seguro?

O OpenVPN usa várias tecnologias criptográficas para manter os seus dados seguros e não tem vulnerabilidades conhecidas. As tecnologias usadas pela maioria das implementações modernas do OpenVPN (incluindo as do Proton VPN) são:

AES

O Advanced Encryption Standard (AES) é uma cifra de chave simétrica usada para criptografar e descriptografar os dados transmitidos pela sua conexão VPN.

Ele é certificado pelo National Institute of Standards and Technology(nova janela) (NIST) e usado pelo governo dos Estados Unidos para proteger dados confidenciais. O AES tem um tamanho máximo de chave de 256 bits (AES-256), com o governo dos EUA considerando o AES-256 suficiente para proteger informações ultrassegretas(nova janela).

Quando usado como parte do pacote de criptografia do OpenVPN, o AES pode ser usado nos modos AES-CBC (Cipher Block Chaining) ou AES-GCM (Galois/Counter Mode). Para entender como o Proton VPN funciona, você só precisa saber sobre o AES-GCM

Embora seja igualmente seguro, o AES-GCM, mais moderno, é uma cifra de criptografia autenticada com dados associados(nova janela) (AEAD) que pode autenticar dados além de protegê-los. O HMAC SHA (veja abaixo) ainda é necessário para autenticar a conexão TLS, mas o AES-GCM é mais eficiente (e, portanto, mais rápido) na autenticação de dados do que o SHA.

Saiba mais sobre a criptografia AES

RSA

O OpenVPN depende do AES para proteger os seus dados, mas para enviá-los pela conexão VPN, o OpenVPN aplica criptografia de chave pública(nova janela). Esse sistema criptográfico usa uma troca de chaves assimétrica, em que os seus dados são criptografados usando a chave pública abertamente compartilhada do destinatário pretendido. Esses dados só podem ser descriptografados pela chave privada secreta do seu destinatário, .

A criptografia de chave assimétrica é eficaz para enviar dados secretamente pela internet, mas é lenta em comparação com sistemas de criptografia simétrica, como o AES. É por isso que ela é usada principalmente em VPNs para autenticar conexões entre o cliente VPN e o servidor VPN. O OpenVPN usa o criptossistema RSA(nova janela) para isso.

O comprimento das chaves RSA pode ser de quase qualquer tamanho, mas uma chave de 4096 bits é suficientemente segura sem gerar um alto custo computacional que seria desperdiçado e deixaria a sua conexão mais lenta.

DHE

Uma troca de chaves Diffie–Hellman(nova janela) (DHE) pode ser usada para proteger a troca de chaves TLS de forma semelhante ao RSA, exceto com o bônus de que ela também oferece sigilo direto(nova janela). O sigilo direto garante que novas chaves sejam usadas para cada sessão, de modo que, mesmo que uma sessão seja de alguma forma comprometida, nenhuma outra sessão seja afetada. O sigilo direto garante que invasores não consigam descriptografar sessões VPN antigas com uma única chave comprometida.

No entanto, como o DHE reutiliza um conjunto limitado de números primos, ele pode ser vulnerável a ataques logjam(nova janela). Esse problema é uma preocupação muito menor se tamanhos de chave suficientemente grandes forem usados, mas o seu uso para proteger trocas de chaves TLS continua sendo controverso.

Por causa disso, o Proton VPN utiliza o suporte ao DHE no pacote de criptografia do OpenVPN para fornecer sigilo direto, mas não para proteger a troca de chaves em si.

HMAC SHA

O OpenVPN usa HMAC SHA para validar os certificados TLS usados na troca de chaves TLS. Isso protege contra ataques do tipo man-in-the-middle.

A família SHA(nova janela) de funções de hash criptográfico(nova janela) é usada para autenticar dados. Quando essas funções matemáticas complexas são executadas em um conjunto de dados, elas criam uma impressão digital exclusiva. Se apenas um bit desses dados for alterado, a impressão digital SHA também mudará.

O SHA-1 (uma função de hash de 160 bits) é conhecido por ser vulnerável a ataques de colisão(nova janela), mas o SHA-2 ainda é considerado seguro. Mais importante ainda, o OpenVPN só usa o SHA para calcular valores de código de autenticação de mensagem de hash(nova janela) (HMAC). Eles são muito mais difíceis de atacar do que o algoritmo SHA por si só, a ponto de que até o SHA-1 ainda é considerado seguro o suficiente para HMAC(nova janela).

Canais do OpenVPN

O OpenVPN usa dois canais separados para transferir dados com segurança entre o seu dispositivo e o servidor VPN.

Uma visão geral de como o OpenVPN funciona

O canal de dados

Antes de enviar os seus dados pelo túnel VPN, o OpenVPN os criptografa com uma cifra de chave simétrica.

O Proton VPN usa até AES-256 no modo GCM para verificar os dados.

O canal de controle

Assim que os dados estiverem criptografados, eles podem ser enviados pelo túnel VPN. O canal de controle estabelece uma conexão TLS entre o cliente VPN e o servidor VPN. Isso é protegido usando uma cifra de chave simétrica, mas com uma troca de chaves assimétrica.

O Proton VPN usa até AES-256-GCM para sua cifra simétrica, com autenticação hash RSA-4096 e HMAC SHA-384 para verificar os certificados TLS. O conjunto de criptografia que usamos também inclui um acordo de chaves Diffie-Hellman (DHE) para oferecer sigilo de encaminhamento.

O OpenVPN consegue vencer a censura de VPN?

Uma das grandes vantagens do OpenVPN é que ele pode rodar tanto nos protocolos de transmissão UDP quanto TCP, que são os dois principais protocolos que gerenciam como os dados são enviados pela internet. O UDP é mais rápido, enquanto o TCP é mais confiável, mas a principal vantagem dessa flexibilidade é que o TCP é útil para vencer a censura de governos e outras organizações.

Saiba mais sobre a diferença entre UDP e TCP

A porta TCP 443 é usada pelo HTTPS(nova janela), o padrão de criptografia que protege a web. Isso dificulta o bloqueio do OpenVPN quando executado na porta TCP 443 sem bloquear todo o tráfego HTTPS, tornando o OpenVPN útil para contornar bloqueios de VPN de baixo nível.

No entanto, formas mais avançadas de inspeção profunda de pacotes podem identificar facilmente a diferença entre pacotes HTTPS e VPN.

Saiba mais sobre a inspeção profunda de pacotes

O OpenVPN foi auditado?

Após uma campanha de crowdfunding, o OpenVPN 2.4 foi auditado de forma independente(nova janela) pela OSTIF e pela QuarksLab em 2016. Os resultados foram muito positivos, e a única vulnerabilidade crítica/alta descoberta dizia respeito à suscetibilidade a uma negação de serviço e não afetou a segurança dos usuários. Esse problema também foi corrigido rapidamente.

No entanto, 2016 já faz bastante tempo, e o OpenVPN 2.6.1 é a versão mais recente no momento em que este artigo foi escrito.

OpenVPN vs. WireGuard

O novo protocolo WireGuard é seguro, rápido e eficiente, e é por isso que o Proton VPN agora o usa como nosso protocolo de VPN padrão. A capacidade do OpenVPN de rodar sobre o TCP continua sendo uma vantagem em relação ao WireGuard puro, mas o Proton VPN desenvolveu agora uma implementação do WireGuard que também roda sobre o TCP.

Saiba mais sobre o WireGuard

O WireGuard também forma a base do nosso protocolo de ofuscação Stealth, que é muito mais eficaz para evitar bloqueios de censura do que rodar o OpenVPN sobre o TCP.

Saiba mais sobre Stealth

O fato de a segurança do OpenVPN continuar sendo mais testada em combate do que a do WireGuard ainda pode atrair alguns usuários, mas há poucos motivos para escolhê-lo em vez do WireGuard, a menos que seu dispositivo atual não suporte o WireGuard.

Considerações finais

Por muitos anos, o OpenVPN foi, na prática, o protocolo de VPN padrão e, por isso, continua sendo muito bem suportado em roteadores e outros dispositivos com acesso à internet. Ele ainda é altamente seguro, mas oferece poucas vantagens em relação ao moderno WireGuard (especialmente as implementações personalizadas do novo protocolo feitas pelo Proton VPN).