Para que serve o SSL?
SSL = Secure Socket Layer
É um sistema que permite a troca de informações entre dois computadores, de modo seguro. SSL fornece 3 coisas:
Privacidade: Impossível espionar as informações trocadas. *Integridade: Impossível falsificar as informações trocadas.
Autenticação: Ele garante a identidade do programa, da pessoa ou empresa com a qual nos comunicamos.
SSL é um complemento ao TCP / IP e pode (potencialmente) proteger qualquer protocolo ou programa usando TCP/IP.
O SSL foi criado e desenvolvido pela empresa Netscape e RSA Segurança. Agora há versões de código aberto (Open Source), assim como um protocolo livre semelhante: TLS
SSL é composto de dois protocolos:
SSL Handshake protocol: antes de comunicar, os dois programas SSL negociam chaves e protocolos de criptografia em comum.
SSL Record protocol: Uma vez negociados, eles criptografam todas as informações trocadas e realizam vários teste
No início da comunicação o cliente e o servidor trocam:
A versão SSL com a qual eles querem trabalhar,
A lista de métodos de criptografia (simétrico e assimétrico) e de assinatura que todo mundo conhece (com comprimentos de chaves),
Métodos de compressão que todo mundo conhece
Números aleatórios,
Certificados.
Cliente e servidor tentam usar o melhor protocolo de criptografia e diminuem até encontrar um protocolo comum para ambos. Depois de feito isso, eles podem começar a troca de dados.
O SSL usa:
um sistema de criptografia assimétrico (como o RSA ou o Diffie-Hellman). Saiba mais aqui: ele é utilizado para criar a "master key" (chave principal), que criará chaves de sessão.
um sistema de criptografia simétrico (DES, 3DES, IDEA, RC4...) usando as chaves de sessão para criptografar os dados.
um sistema de assinatura criptográfico das mensagens (HMAC, utilizando o MD5, SHA...) para ter certeza de que as mensagens não estão corrompidas.
É durante o "handshake" SSL que o cliente e o servidor escolhem os sistemas comuns (criptografia assimétrica, simétrica, assinatura e comprimento de chave).
No seu navegador, você pode ver a lista dos sistemas utilizados, colocando o cursor sobre o cadeadinho, quando você está em uma página HTTPS.
Alguns protocolos foram especialmente modificados para suportar o SSL:
HTTPS: é HTTP+SSL. Este protocolo está incluído em praticamente todos os navegadores, e permite que você (por exemplo) consulte suas contas bancárias na web de forma segura.
FTPS é uma extensão do FTP (File Transfer Protocol) usando SSL.
SSH (Secure Shell) é uma espécie de telnet (ou rlogin) seguro. Isso permite que você se conecte a um computador remoto com segurança e ter uma linha de comando. O SSH tem extensões para proteger outros protocolos (FTP, POP3, ou mesmo X Windows).
Fonte:https://br.ccm.net/faq/9943-o-que-sao-ssl-ssh-https