Ssl/tls
O Transport Layer Security - TLS (em português: Segurança da Camada de Transporte) e o seu predecessor, Secure Sockets Layer - SSL (em português: Protocolo de Camada de Sockets Segura), são protocolos criptográficos que conferem segurança de comunicação na Internet para serviços como email (SMTP), navegação por páginas (HTTP) e outros tipos de transferência de dados.
Serviços SSL
O SSL foi desenvolvido para oferecer serviços de segurança e de compressão para dados gerados na camada de aplicação. Tipicamente, o SSL pode receber dados de qualquer protocolo da camada de aplicação, mas normalmente, o protocolo é HTTP. Os dados recebidos da aplicação são comprimidos (serviço opcional), assinado é criptografado. Os dados são, em seguida passados para um protocolo da camada de transporte confiável, como TCP, A Netscape desenvolveu o SSL em 1994. As versões 2 e 3 foram lançadas em 1995.
Fragmentação
Primeiro, o SSL divide os dados em blocos de 214 bytes ou menos.
Compressão
Cada fragmentação de dados é comprimida usando-se um dos métodos de compressão sem perdas negociadas entre o cliente e o servidor. Esse serviço é opcional.
Integridade de Mensagens
Para preservar a integridade de dados, o SSL usa uma função hash com chaves para criar um MAC.
Confidencialidade
Para oferecer confidencialidade, os dados originais e o MAC são criptografados utilizando-se criptografia de chave simétrica.
Framing
É acrescentando um cabeçalho ao payload criptografado. O payload é, então, passado a um protocolo de camada de transporte confiável.
Conjunto de Cifras
A combinação de algoritmos de criptografia, de troca de chaves e de hash define um conjunto de cifras para cada seção SSL. O conjunto inicia pelo termo SSL seguido pelo algoritmo de troca de chaves. A palavra WITH separa o algoritmo de troca de chaves dos algoritmos de criptografia e de hash. Por exemplo:
SSL_RSA_WITH_RC4_128_MD5
Segredos Criptográficos
A segunda parte