Os certificados TLS (Transport Layer Security) são componentes vitais para proteger as comunicações de rede com uma implantação do Couchbase Server. O TLS garante a confidencialidade, a integridade e a autenticidade dos dados transmitidos entre clientes e servidores. Este guia abrangente tem como objetivo desmistificar a configuração e a utilização de certificados TLS no Couchbase Server, permitindo que os administradores aprimorem a segurança de suas implantações.

Nesta série de três partes, primeiro veremos a história do TLS e os componentes envolvidos e, em seguida, em Parte 2 veremos alguns dos aspectos funcionais do TLS em ação e, finalmente, em Parte 3 veremos como usar o TLS com o Couchbase Server.  

Entendendo o TLS e como ele funciona

Vamos começar explicando alguns dos fundamentos do TLS. O TLS é um protocolo criptográfico que estabelece uma conexão segura entre um cliente e um servidor em uma rede não confiável. O TLS substituiu o protocolo SSL legado e fornece criptografia de ponta a ponta, protegendo os dados contra espionagem, adulteração e falsificação. O TLS opera por meio de uma combinação de algoritmos de criptografia assimétrica e simétrica, mecanismos seguros de troca de chaves e certificados digitais.

No centro do TLS está o uso desses certificados, que são documentos digitais que vinculam a identidade de uma entidade (como um site ou uma organização) a um par de chaves criptográficas. O Couchbase Server usa o padrão x.509 para certificados de chave pública.

Histórico e versões do TLS

Ao longo dos anos, o TLS passou por várias atualizações de versão para solucionar vulnerabilidades de segurança e melhorar sua força e desempenho gerais. O TLS v1.0 foi a primeira versão amplamente adotada, mas sofreu com algumas vulnerabilidades descobertas, incluindo os ataques POODLE e BEAST, o que motivou a necessidade de versões mais robustas. O TLS v1.1 introduziu algoritmos criptográficos mais robustos e eliminou as vulnerabilidades presentes no TLS v1.0. Posteriormente, o TLS v1.2 reforçou ainda mais a segurança com suítes de cifras aprimoradas, sigilo avançado e suporte a algoritmos criptográficos modernos. O TLS v1.3, a versão mais atual, traz mudanças ainda mais significativas. Ela oferece handshakes mais rápidos, latência reduzida e segurança aprimorada com a remoção de algoritmos criptográficos mais antigos e mais fracos, o que a torna a versão mais segura e eficiente até o momento.

No TLS v1.3, além da reformulação do processo de handshake, reduzindo o número de viagens de ida e volta necessárias para estabelecer uma conexão segura, ele também exige o uso do Perfect Forward Secrecy (PFS) e elimina o suporte a algoritmos de criptografia desatualizados, aumentando ainda mais a segurança. O TLS v1.3 oferece melhor proteção contra espionagem e adulteração dos dados em trânsito, abordando as preocupações de segurança levantadas pelas versões anteriores. Além disso, o TLS v1.3 apresenta um recurso chamado "0-RTT" (Zero Round Trip Time Resumption), que permite que os clientes retomem uma conexão sem nenhuma viagem de ida e volta adicional, melhorando o desempenho de visitas repetidas ao mesmo servidor.

Versão TLS Data de lançamento do TLS Data de fim da vida útil do TLS Servidor Couchbase 7.2
SSL 2.0 Fevereiro de 1995 1996 Não suportado
SSL 3.0 Novembro de 1996 2014 Não suportado
TLS 1.0 Janeiro de 1999 Depreciado Depreciado / Desativado
TLS 1.1 Abril de 2006 Depreciado Depreciado / Desativado
TLS 1.2 Agosto de 2008 Ativo Padrão Mínimo
TLS 1.3 Agosto de 2018 Ativo Preferenciais

Autoridades de certificação e sua função

No âmbito do TLS, uma autoridade de certificação (CA) desempenha um papel fundamental. As CAs são entidades confiáveis responsáveis por emitir, revogar e gerenciar os certificados digitais. Elas atuam como guardiãs da confiança, verificando a legitimidade das entidades e assinando seus certificados. 

Normalmente, o certificado de uma entidade (por exemplo, um site ou um usuário) é gerado e gerenciado pelo que é conhecido como Autoridade de Certificação Intermediária. A Autoridade Certificadora Intermediária, por sua vez, tem seu certificado emitido e gerenciado por uma Autoridade Certificadora Raiz. 

Em geral, um certificado de entidade é válido apenas por alguns meses, um certificado intermediário é rotacionado a cada poucos anos e um certificado raiz pode ser válido por várias décadas. Essa autoridade de certificação raiz normalmente é mantida off-line por motivos de segurança e só é acessada raramente quando o certificado da autoridade de certificação intermediária precisa ser substituído no que é conhecido como cerimônia de chave. As cerimônias de chave geralmente são realizadas em ambientes seguros e controlados, com várias camadas de medidas de segurança física e processual.

what is a root certificate authority

Criptografia de chave pública

A criptografia de chave pública, também conhecida como criptografia assimétrica, é um esquema criptográfico que permite a comunicação segura e a proteção de dados usando um par de chaves matematicamente relacionadas: a chave pública e um chave privada. A chave pública, abertamente compartilhada e distribuída, é usada para criptografar dados, enquanto a chave privada, mantida em segredo e conhecida apenas pelo proprietário da chave, é usada para descriptografar os dados criptografados. Normalmente, as chaves privadas nunca saem do host em que foram geradas. As mensagens criptografadas com a chave pública só podem ser descriptografadas usando a chave privada correspondente, garantindo que somente o destinatário pretendido, que possui a chave privada, possa acessar as informações originais. A criptografia assimétrica é computacionalmente mais intensiva e mais lenta do que a criptografia simétrica.

O TLS usa criptografia assimétrica durante o handshake inicial para permitir que um cliente envie uma chave secreta compartilhada para o servidor, conhecida como chave de sessão, que é então usada para estabelecer uma comunicação bidirecional criptografada com criptografia simétrica. O TLS usa a criptografia simétrica para a transmissão real de dados durante uma sessão segura porque ela fornece criptografia eficiente e de alta velocidade para dados em massa. 

Assinaturas digitais

No contexto dos certificados digitais, uma chave é usada para assinar um certificado por meio de um processo conhecido como assinatura digital. Quando uma autoridade de certificação (CA) emite um certificado para uma entidade (por exemplo, um site ou um usuário), ela gera uma assinatura digital usando a chave chave privada. Essa assinatura é computada com base no conteúdo do certificado, incluindo as informações de identidade da entidade e sua chave pública. A assinatura digital funciona como uma impressão digital exclusiva que vincula o conteúdo do certificado à identidade da CA e garante a integridade do certificado. Quando o certificado é apresentado a outras pessoas, elas podem usar a assinatura digital da CA. chave pública para verificar a assinatura digital. Se a assinatura for válida, ela confirma que o certificado não foi adulterado e foi de fato emitido pela CA confiável, estabelecendo a autenticidade e a confiabilidade do certificado para fins de comunicação segura e autenticação.

Certificados X.509

what is a TLS certificate

Um certificado X.509 é um documento digital usado em sistemas de infraestrutura de chave pública (PKI) para vincular a identidade de uma entidade (por exemplo, um site ou uma organização) à sua chave pública. Ele contém informações essenciais, como o nome da entidade, a chave pública, a assinatura digital da autoridade de certificação (CA), datas de validade e outros metadados. Diferentemente de uma chave de criptografia, que é uma informação sensível usada para criptografar e descriptografar dados, o certificado X.509 não realiza criptografia ou descriptografia diretamente. Em vez disso, ele atua como um meio de verificar a autenticidade da chave pública que contém e estabelece a confiança entre as partes. 

O conteúdo de um certificado pode variar, mas os componentes de um arquivo de certificado típico são mostrados à direita.

Nome alternativo do assunto (SAN)

Nos certificados TLS, a extensão Subject Alternative Name (SAN) oferece mais flexibilidade e segurança. O campo SAN permite que um certificado especifique várias identidades (como nomes de domínio ou endereços IP) para as quais o certificado é válido. Essa extensão é particularmente útil quando um único certificado precisa abranger vários domínios ou subdomínios associados a um servidor específico.

Agora que já abordamos os componentes do TLS, veremos a seguir algumas das peças em ação

Autor

A ordem da postagem em relação a outras postagens. Ian McCloy, diretor de gerenciamento de produtos

Ian McCloy é diretor do grupo de gerenciamento de produtos de plataforma e segurança da Couchbase e mora no Reino Unido. Sua equipe dedicada é responsável pela arquitetura de confiabilidade, disponibilidade, capacidade de serviço e segurança do Couchbase Server e do banco de dados SaaS, Capella. Essa equipe também é proprietária de plataformas nativas da nuvem, como o Operador Autônomo Kubernetes do Couchbase. Ian tem uma vasta experiência como engenheiro de software, engenheiro de suporte técnico, engenheiro de garantia de qualidade e administrador de sistemas. Ian liderou equipes técnicas globais durante a maior parte de sua carreira profissional de 20 anos e possui várias patentes nas áreas de segurança da informação, virtualização e design de hardware. https://www.linkedin.com/in/ianmccloy/

Posição vertical a partir do topo para iniciar o corte como uma porcentagem da altura da imagem.