Informações básica sobre SSL – Secure Sockets Layer
Neste artigo, apresentamos de forma simplista o que é SSL (Secure Sockets Layer).
O que é?
SSL (Secure Sockets Layer) é uma tecnologia de segurança que é comumente utilizada para codificar os dados trafegados entre o computador do usuário e o um website. O protocolo SSL, através de um processo de criptografia dos dados, previne que os dados trafegados possam ser capturados, ou mesmo alterados no seu curso entre o navegador (browser) do usuário e o site com o qual ele está se relacionando, garantindo desta forma informações sigilosas como os dados de cartão de crédito.
O SSL, é uma camada intermediária utilizada para troca de dados, que á ativada (uma de suas formas) pelo protocolo HTTPS (Hypertext Transfer Prococol-Secure).
Fluxo básico
FLUXO SIMPLIFICADO | ||
Passo | Usuário (browse) | Servidor (webServer) |
1(ns) | O usuário efetua uma requisição, p.e., https://meuServidor.com.br | Ao receber a requisição, é iniciado o processo de estabelecimento da conexão segura. |
2 | Neste ponto, o servidor envia uma série de informações, sendo as mais importantes o “certificado digital1” e a “chave pública”. | |
3 | Recebido o “certificado digital”, o navegador valida-o, junto a uma agência certificadora2. Este procedimento, costuma ser transparente, sendo emitido uma mensagem ao usuário, caso o “certificado” seja considerado inválido pela agência certificadora. | |
4 | Uma vez, que o certificado é válido, uma chave de criptografia é gerada de forma aleatória, chamada “chave secreta”. | |
5(s) | A “chave secreta” é criptografada, utilizando a “chave pública” do site e enviado para o mesmo. | Recebido o pacote criptografado com a “chave pública”, este pacote passa por um processo de descriptografia, utilizando a “chave privada”3 |
6 |
O servidor executa alguns procedimentos de verificação e se estiver ok, passa a efetuar a comunicação com o browser, usando a “chave secreta” | |
7(ss) | Os dois lados, passam a receber e enviar dados criptografados com a “chave secreta”. | |
|
Legendas: ( NS) - NÃO SEGURO (S) - SEGURO (SS) 100% SEGURO |
Informações adicionais
Algumas certificadoras, entre elas a Thawte (www.thawte.com), gera certificados válidos por um determinado período, em geral 30 dias, para testes e avaliação.
Pode-se também,gerar certificados internamente, porém, ao ser válido pelo “browser”, este irá informar que não é um certificado válido e o usuário deverá aceita-lo como tal (não recomendo).
Outra forma de aumentar a segurança, é o usuário do “browser”, ter o seu “certificado digital”. Assim garante-se, que o usuário é quem diz ser.
1Certificado Digital – é um “RG”, que identifica o domínio/site. Este é emitido pelas agências certificadoras.
2Agência certificadora – são empresas que vendem os certificados, podem ser encontradas pela internet, nacionais e internacionais, p.e. CertiSign, Thawte, SERASA e outras
3Chave Pública/privada – é a base da criptografia do SSL. A “chave pública”, como diz o nome, é de conhecimento público, inclusive podendo ficar a disposição, em “sites” específicos, para qualquer pessoa. Esta chave, é utilizada pela origem para criptografar dados que serão enviados ao servidor/dono da chave. Qualquer dado, criptografado com esta chave, só pode ser descriptografado com a “chave privada”, é de uso privativo pelo site/dono.