O que é SSL e como é utilizado para garantir a segurança dos dados na rede?
sobes.tech IA
Resposta da IA
SSL (Secure Sockets Layer) é um protocolo criptográfico que garante a transmissão segura de dados entre o cliente (por exemplo, um navegador web) e o servidor (por exemplo, um site web). Utiliza criptografia assimétrica para estabelecer um canal de comunicação protegido e depois criptografia simétrica para a transmissão de dados.
As principais etapas do uso do SSL:
-
Handshake (aperto de mão):
- O cliente envia ao servidor uma mensagem "ClientHello" contendo uma lista de versões SSL suportadas e conjuntos de cifras.
- O servidor responde com "ServerHello", selecionando a versão SSL e o conjunto de cifras ideais, e também envia o seu certificado.
- O cliente verifica a autenticidade do certificado do servidor usando uma lista de autoridades de certificação confiáveis.
- O cliente gera uma chave secreta de sessão e a cifra usando a chave pública do certificado do servidor.
- O cliente envia a chave de sessão cifrada ao servidor.
- O servidor decifra a chave de sessão usando a sua chave privada.
- Ambas as partes geram as chaves necessárias (de cifragem e autenticação) para o algoritmo simétrico usando a chave de sessão.
- O cliente e o servidor enviam mensagens "Finished" cifradas com as chaves acordadas para confirmar o estabelecimento bem-sucedido da conexão segura.
-
Ciframento de dados: Após o handshake bem-sucedido, todos os dados transmitidos entre o cliente e o servidor são cifrados usando o algoritmo simétrico acordado e as chaves.
Exemplo de parte de um certificado SSL:
// Identificador do certificado
Número de série: ...
// Algoritmo de assinatura do certificado
Algoritmo de assinatura: sha256WithRSAEncryption
// Emissor do certificado (Autoridade de Certificação)
Emissor: C = US, O = Google Trust Services LLC, CN = GTS CA 1C3
// Período de validade
Validade
Não antes: ...
Não depois: ...
// Sujeito do certificado (nome de domínio do site)
Sujeito: CN = www.exemplo.com
// Chave pública do sujeito
Informações da Chave Pública
Algoritmo de Chave Pública: rsaEncryption
Chave Pública: (2048 bits)
SSL, e sua versão mais moderna TLS (Transport Layer Security), fornece:
- Confidencialidade: Impede a interceptação e leitura de dados por terceiros.
- Integridade dos dados: Garante que os dados não foram modificados durante a transmissão.
- Autenticação: Confirma a autenticidade do servidor (e opcionalmente do cliente) usando certificados.
O uso de SSL/TLS é amplamente utilizado em navegadores web (protocolo HTTPS), email (STARTTLS), VPN e outras aplicações que requerem transmissão segura de dados.