Sobes.tech
Junior

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:

  1. 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.
  2. 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.