SSL - Secure Socket Layer
O Secure Socket Layer (SSL, atualmente na versão 3) é um protocolo de comunicação que implementa um duto seguro para comunicação de aplicações na Internet, de forma transparente e independente da plataforma.
Foi desenvolvido pela Netscape Communications em sua versão inicial em julho de 1994. Em abril de 1995 foi lançada a referência para implementação da versão 2 (sendo distribuído junto os Browsers Netscape e Internet Explorer e os servidores web mais comuns - Apache, NCSA httpd, IIS, Netscape Server etc), apoiado pela Verisign e Sun, transformando-se em um padrão em e-commerce, tendo a sua especificação submetida ao grupo de trabalho W3C (especificação disponível em um “draft” do IETF com o nome de TLS - Transaction Layer Security – rfc2246.
Em novembro de 1995 foi lançada a versão 3 do SSL, tendo como melhorias a diminuição no número de redadas de negociação, a escolha das cifras e compressão por parte do servidor, um suporte mais completo para a troca de chaves de algoritmos de cifragem, a possibiliadde de renegociação das cifres em uso e a separação das chaves de autenticação e encriptação. Embora as diferenças entre o TLSv1 e o SSL v3 não sejam grandes, são suficientes para que eles não possam interoperar diretamente. Caso seja necessário, o TLS v1 pode emular o SSL v3.
Sua proposta é permitir a autenticação de servidores, encriptação de dados, integridade de mensagens e, como opção, a autenticação do cliente, operando nas comunicações entre aplicativos de forma interoperável.
Visa garantir as seguintes objetivos: Segurança criptográfica para o estabelecimento de uma ligação segura entre duas máquinas/aplicativos, assegurando a privacidade na conexão, com a utilização de algoritmos simétricos (como o DES ou RC4) que negociam uma chave secreta na primeira fase do handshaking (usando chaves públicas – assimétricas); Autenticação do Servidor (e, opcionalmente do Cliente) por meio de algoritmos assimétricos como o RSA