Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as  
referëncias (fontes) no último item, reforçando que não deve ser um Copy/Paste e sim uma síntese 
das pesquisas que fizer.


Conceito


A primeira versão do protocolo SSL foi criado em 1995 pela Netscape, quando as primeiras aplicações de transações comerciais online (e-commerce) estavam sendo desenvolvidas, pois foi constatada a necessidade de criar um protocolo de transeferência de dados seguro entre o usuário e o servidor. Rapidamente, o SSL foi adotado como padrão pela IETF (Internet Engineering Task Force) e hoje se encontra em sua versão 3.0, ainda amplamente difundido em transações eletrônicas. Conta com um sistema de chaves que encriptam o arquivo para garantir a segurança dos dados transmitidos entre o Web Server e o cliente.

Sockets


Um soquete de rede é o ponto final entre um fluxo de comunicação entre dois aplicativos através de uma rede. Por definição, um soquete de rede possui:

-Um endereço IP

-Numero de porta de protocolo de transporte (TCP ou UDP) a ser usada pela aplicação

Soquetes são criados com um conjunto de funções algumas vezes chamadas de “Socket Application Programming Interface” (API)

O SSL (Secure Sockets Layer) é um protocolo de comunicação que gerencia autenticação do servidor, autenticação do cliente e comunicação encriptada.

Funcionamento


Quando solicitada uma conexão com um site seguro, o navegador faz uma solicitação e recebe um certificado digital, verificando a sua validez. Uma vez verificada, o Web Server e o Cliente estabelecem uma conexão segura, muitas vezes representadas pelo cadeado verde ao topo da tela e o endereço contendo "HTTPS" -que é a utilização do protocolo HTTP com a camada de segurança SSL/TLS-

O cliente, então, solicita uma chave pública(public key) a ser usada para a segurança dos dados. A chave pública recebida pelo cliente tem sua correspondente, uma chave privada(private key), que fica em poder do servidor. Dessa forma, cliente e servidor determinam o tipo de criptografia, a compressão de dados e outros fatores em um processo conhecido como Handshake. Após isso, as chaves são utilizadas para encriptografar e desencriptografar as mensagens transmitidas via o protocolo. Ao se encriptar uma mensagem com uma das chaves, ela só poderá ser desencriptada com sua chave correspondente, ou seja: Se a mensagem foi encriptada com a chave pública, a mesma só poderá ser decifrada com a chave privada, e se for encriptada com a chave privada, só poderá ser decifrada com a pública.

Esses procedimentos conferem uma maior segurança à transação, pois dados que por ventura forem interceptados nao poderão ser lido pois o interceptador em teoria não terá posse da chave correspondente.

Chaves


O protocolo SSL utiliza o sistema de chaves encriptar as mensagens transferidas entre servidor e cliente e vice-versa. O sistema constitui de duas chaves, uma chave pública (public key) e uma chave privada (private key). Como o nome já diz, a chave publica está disponivel para qualquer um que verifique a validade do certificado e efetue uma conexão com o servidor, enquanto a chave privada fica com o servidor. Como as duas chaves são simétricas, o que for encriptado com uma chave pública só pode ser desencriptado utilizando-se de uma chave privada. O contrário também é verdade, logo, se uma entidade externa chegar a interceptar os dados sendo transmitidos, não poderá desencriptar os dados sem a sua chave correspondente.

Certificação Digital


A certificação digital serve como uma garantia de que a conexão é segura e de que o servidor realmente é quem ele diz ser. O seu navegador de internet automaticamente solicita o certificado do web server quando ele acessa uma conexão segura, e confere sua validação. Os certificados digitais nos permitem usar a infraestrutura de chave pública (PKI), acesso às chaves simétricas. Um exemplo de CA OpenSource é o OpenSSL, desenvolvido em C, que permite o uso das aplicações PKI

Exemplos de comando


Referências bibliográficas


http://whatis.techtarget.com/definition/sockets

http://how2ssl.com/articles/openssl_commands_and_tips/

Oppliger,Rolf (2009). SSL and TLS: Theory and practice. Artech House. 280p.