Na parte 1 desta série de 3 partes, aprendemos sobre os componentes do TLSNa parte 2, veremos como os componentes do TLS interagem entre si. Em Parte 3 Neste guia, veremos como os componentes são usados no Couchbase Server.
Processo de assinatura de certificados
Se você estiver gerenciando sua própria autoridade de certificação interna ou usando um fornecedor comercial estabelecido, como DigiCert, GlobalSign ou GoDaddy, o primeiro estágio é gerar uma solicitação de assinatura de certificado. Sempre que um novo certificado ou um certificado de substituição precisa ser emitido, a entidade que solicita o certificado gera um par de chaves que consiste em uma chave privada e uma chave pública, normalmente usando o pacote OpenSSL. Em um cluster do Couchbase Server, a entidade seria um nó individual do Couchbase Server. A chave privada é mantida em segurança pela entidade, enquanto a chave pública é incluída em uma solicitação de assinatura de certificado (CSR) que é enviada à CA. Normalmente, isso é realizado com uma CA intermediária e não com uma CA raiz.
Ao receber a CSR, a CA verifica a identidade da entidade empregando vários métodos de validação, como validação de domínio ou validação de organização. Depois que a identidade é confirmada, a CA gera uma assinatura digital usando sua chave privada, que vincula a chave pública da entidade às suas informações de identidade. Esse certificado assinado é então devolvido à entidade.
Validação de certificados
Para validar um certificado, a parte confiável (por exemplo, um navegador da Web) precisa garantir que o certificado seja genuíno e emitido por uma CA confiável. Esse processo envolve uma série de etapas, incluindo os quatro estágios a seguir.
Âncora de confiança
A parte confiável, por exemplo, um navegador da Web, possui um conjunto pré-instalado de certificados raiz confiáveis, também conhecidos como âncoras de confiança. Esses certificados pertencem a CAs conhecidas e contêm suas chaves públicas, o que serve como base de confiança.
Quando um cliente ou servidor recebe um certificado durante o handshake SSL/TLS, ele verifica se a assinatura digital do certificado pode ser validada por qualquer uma das âncoras de confiança instaladas no sistema. Se a cadeia de certificados puder ser rastreada até uma âncora de confiança, o certificado é considerado genuíno e a conexão TLS prossegue com confiança.
Caminho de certificação
Ao estabelecer uma conexão criptografada TLS, a parte confiável (navegador da Web) examina o caminho de certificação do certificado, que inclui uma cadeia de certificados que começa com o certificado emitido e vai até uma âncora de confiança. Cada certificado na cadeia é assinado pelo certificado subsequente, chegando, por fim, a uma âncora de confiança.
Verificação de assinatura
A parte confiável (navegador da Web) usa a chave pública de cada certificado no caminho da certificação para verificar a assinatura digital do próximo certificado. Esse processo continua até que a âncora de confiança seja alcançada.
A assinatura digital é um valor criptográfico criado pela AC usando sua chave privada, vinculando o conteúdo do certificado à identidade da AC. O cliente usa a chave pública da CA para descriptografar a assinatura digital e, se a descriptografia corresponder ao conteúdo do certificado, a assinatura será considerada válida. Essa validação confirma que o certificado não foi adulterado e foi de fato emitido pela autoridade de certificação confiável.
Verificações de confiança e expiração
A parte confiável verifica se a âncora de confiança está incluída em seus certificados raiz confiáveis pré-instalados. Ela também verifica a data de expiração de cada certificado para garantir que ele ainda seja válido.
Se todo o caminho de certificação for validado com êxito e a âncora de confiança for confiável, a parte confiável considera o certificado genuíno e prossegue com a conexão segura. Com o Couchbase Server 7.2.x, essa cadeia pode ter 10 certificados.
Neste exemplo, as autoridades de certificação raiz confiáveis integradas no navegador da Web são apenas nomes inventados, mas você pode ver uma lista real. As CAs confiáveis pré-autorizadas do Firefox são vinculado a partir de seu wiki. Se o seu certificado for gerado por uma CA que não seja emitida por uma das CAs confiáveis integradas, primeiro será necessário adicionar o certificado público da CA como uma entidade confiável ao seu sistema operacional e navegador antes de poder usar os certificados emitidos por essa CA.
Agora que já vimos os componentes envolvidos no TLS e como eles funcionam, na parte 3, veremos Como o TLS funciona no Couchbase Server.