SSL é o protocolo mais usado para
implementar criptografia na Internet (pois é o mais usado na
web). Ele funciona como uma camada intermediária entre as
camadas de transporte e de aplicação, como mostra a
figura 1.
Figura 1: Protocol Stack
Ainda que esse protocolo seja mais usado na web,
ou seja, com HTTP na camada de aplicação, ele pode ser
usado para encriptar diversos protocolos, como:
- Net News Transfer Protocol (NNTP),
- Lightweight Directory Access Protocol
(LDAP),
- Interactive Message Access Protocol
(IMAP),
- Post Office Protocol (POP) e
- File Transfer Protocol (FTP).
Esse protocolo provê confidencialidade,
autenticidade e integridade, graças a sua infra- estrutura de
chaves, à encriptação e às checagens que faz
usando um hash da mensagem.
Apesar de o TLS e o SSL não serem iguais,
suas diferenças serão tratadas apenas nos próximos
parágrafos, já que o TLS nasceu do SSL, compartilhando da
maioria de suas características.
- TLS
compreende SSL; o inverso não é verdade;
- TLS usa
Keyed-Hashing for Message Authentication Code (HMAC) para gerar
seus hashes. SSL usa Message Authentication Code (MAC) (o primeiro
produz hashes mais seguros).
- Enquanto
o SSL requer que uma autoridade certificadora raiz seja sempre
consultada, o TLS permite que uma autoridade intermediária
seja usada.
- Outras
pequenas diferenças no cabeçalho e nas mensagens de
alerta.