| SSL (Secure Sockets Layer) |
|
|
|
|
O SSL é um protocolo de rede responsável pela gestão de canais seguros de dados, ao nível da sessão, entre um cliente e um servidor, recorrendo para isso à cifra. A constituição das VPNs consiste na criação de túneis virtuais entre dois pontos remotos separados por uma rede insegura, normalmente a Internet, simulando uma rede privada entre os dois. O OpenVPN implementa as verdadeiras VPNs com recurso ao SSL e estas apresentam claras vantagens relativamente a outros métodos, nomeadamente, ao IPSec (IP Security Protocol). Estas vantagens prendem-se com a diminuição da complexidade e o correcto funcionamento na passagem por firewalls, isto porque funciona na camada 4 do modelo OSI (Open System Interconnection) e utiliza como protocolo de comunicação o TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol). Um outro aspecto importante é que o IPSec opera ao nível do kernel o que pode originar falhas gravíssimas, através de possíveis interferências entre o processo da aplicação e os processos essenciais do kernel. Pelo contrário o SSL é executado ao nível do utilizador, o que garante um sistema seguro, estável e de multi-utilizador. Esta tecnologia está associada à cifra assimétrica, em que cada interveniente da comunicação tem um par de chaves pública/privada e sempre que um conjunto de dados são cifrados com a chave privada do próprio e a pública do destinatário, o emissor fica com a garantia de que só o detentor do par da chave pública que utilizou, é que o vai conseguir ler. O receptor, por seu lado, tem a garantia que quem escreveu a mensagem é o detentor da chave privada que cifrou a mensagem. Este mecanismo apresenta contudo dois problemas: o primeiro é que o receptor não sabe a verdadeira origem do emissor, e este não tem a garantia que a chave pública que utilizou corresponde ao destinatário pretendido, ficando assim sujeito a um man-in-the-middle-attack. O segundo é um problema de escalabilidade, já que se uma entidade pretender comunicar com mil entidades, tem de guardar esse número de chaves públicas consigo. A solução para estes problemas é a criação de uma PKI (Public Key Infrastructure) que é uma estrutura com base numa CA (Certificate Authority) em que os vários elementos, após comprovarem a sua identidade, podem requerer um certificado. Um certificado consiste na chave pública do requerente assinada com a chave privada do CA. Desta forma, um elemento pode apresentar um certificado passado por uma terceira entidade confiável a provar sua própria identidade. Se o receptor confiar nesse CA, verifica que o certificado foi mesmo emitido por esse CA, através da utilização da sua chave pública de CA e, a partir daí, passa a confiar que aquela entidade é quem diz ser. Assim, cada entidade só tem que conhecer o seu par de chaves pública/privada e a chave pública das entidades certificadoras CA. Sempre que é enviada uma mensagem esta é assinada com a chave privada do próprio e é enviada a chave pública do emissor assinada pelo CA. O receptor utiliza a chave pública do CA e fica com a certeza de qual a origem da mensagem. Este mecanismo é apelidado de assinatura digital e é muito utilizado nas VPNs (Virtual Private Networks). [Eng. André Serpa; Dissertação de Mestrado] |



