Obtendo um certificado SSL intermediário

20

É possível comprar um certificado intermediário para usá-lo para assinar certificados de subdomínio? Ele deve ser reconhecido pelos navegadores e não posso usar um certificado curinga.

A busca não revelou nada até agora. Alguém está emitindo esses certificados?

Alex B
fonte
3
O DigiCert Enterprise permite que você pré-valide seu domínio e faça a geração de certificados de subdomínios em larga escala. (Divulgação: Eu não trabalho para DigiCert, mas meu empregador usa seus serviços de certificado.)
Moshe Katz

Respostas:

18

O problema é que a infraestrutura e a implementação atualmente usadas não oferecem suporte a certificados intermediários limitados a apenas alguns (sub) domínios. Com efeito, isso significa que você pode usar qualquer certificado intermediário para assinar qualquer certificado que desejar e os navegadores confiarão nele, mesmo que sejam certificados para domínios que você não possui.

Portanto, esses certificados intermediários são dados apenas a organizações realmente confiáveis, seja lá o que isso signifique (mas provavelmente há muito dinheiro envolvido).

Steffen Ullrich
fonte
9
Sim, organizações realmente confiáveis , como Comodo ou DigiNotar . Ou VeriSign ("Estou procurando um certificado da Microsoft ..." / "Aqui está"). TURKTRUST , Digicert Sdn. Bhd , ...
basic6
Na verdade não - eles executam sua própria raiz e intermediário. A substituição da raiz é complexa - portanto, o que normalmente é feito é usar SOMENTE um certificado raiz para assinar um certificado CA intermediário e colocar a raiz CA offline. ;)
TomTom
Escolher no google por nenhum motivo específico, mas como eles têm uma CA intermediária e não vendem certificados, há uma chance razoável de que eles possam ser roubados e abusados ​​sem a detecção rápida do MITM entre um par de hosts executando SMTP sobre TLS. Suspeito que alguns administradores de sistema não pensariam muito se um certificado fosse alterado para uma conexão SMTP para uma emitida pelo google.
Phil Lello
... De fato, isso pode ser o que acontece quando uma empresa muda para o Google Apps por email.
Phil Lello
Na verdade, a PKI atual suporta explicitamente isso. A seção RFC 5280 define a extensão de restrições de nome que permite a criação de uma autoridade de certificação intermediária com restrições sobre quais domínios eles podem criar. O problema é que praticamente nunca é implementado.
Jake
7

Não, porque isso seria uma violação do certificado original - os navegadores confiariam em seus certificados e você poderia começar a emitir coisas para o google.com etc. - e se você fizer isso com inteligência, não será fácil obtê-lo.

As autoridades intermediárias de certificação têm muito poder. Uma CA intermediária é uma autoridade de assinatura de certificado - que é confiável por meio do certificado raiz - e nada na especificação permite limitar a CA subordinada.

Como tal, nenhuma organização de certificação respeitável lhe dará uma.

TomTom
fonte
3
Claro, mas fiquei com a impressão de que você poderia limitar o escopo intermediário do certificado (por exemplo, a um único domínio). Outra resposta parece sugerir que não é esse o caso.
Alex B
11
Não é o caso. Uma CA intermediária é uma autoridade de assinatura de certificado - que é confiável por meio do certificado raiz - e nada na especificação permite limitar a CA subordinada.
TomTom
@ TomTom: Boa explicação. Tomei a liberdade de editar seu comentário em sua resposta.
Sleske 19/05
@alexb Eu acredito que é um caso da especificação permite, mas você não pode confiar nas implementações do cliente para suportá-lo. Infelizmente não consigo encontrar uma referência, mas estou bastante confiante.
Phil Lello
5

É / foi possível comprar uma CA válida da GeoTrust.

Não consegui encontrar o produto nas páginas em inglês, mas aqui está uma versão arquivada:

http://archive.is/q01DZ

Para adquirir o GeoRoot, você deve atender aos seguintes requisitos mínimos:

  • Patrimônio líquido de US $ 5 milhões ou mais
  • Seguro mínimo de US $ 5 milhões em erros e omissões
  • Contrato Social (ou similar) e um certificado de posse fornecido
  • Uma Declaração de Prática de Certificado (CPS) escrita e mantida
  • Um dispositivo compatível com FIPS 140-2 Nível 2 (a GeoTrust fez parceria com a SafeNet, Inc.) para gerar e armazenar chaves de chaves de certificado raiz
  • Um produto CA aprovado da Baltimore / Betrusted, Entrust, Microsoft, Netscape ou RSA

O produto ainda está disponível em sua página em alemão:

http://www.geotrust.com/de/enterprise-ssl-certificates/georoot/

lamentar
fonte
4

(Esta é uma nova resposta para uma pergunta antiga, pois acredito que isso ajuda a entender que não há "mágica" nos certificados e na CA)

Como uma extensão da resposta aprovada dada por @Steffen Ullrich

Todo o certificado para identificar sites é apenas um grande negócio. Os certificados X509 são definidos (entre outros) pelo RFC5280 e qualquer um pode ser uma CA raiz ou uma CA intermediária, tudo depende da confiança que você tem em relação a essa entidade.

Por exemplo: se você estiver em um domínio do Active Directory, seu controlador de domínio primário é uma autoridade de certificação raiz confiável por padrão. Enquanto isso, não há absolutamente nenhum outro terceiro envolvido.

Na Internet ampla, o problema é identificar "em quem você pode confiar" porque é muito maior do que apenas uma empresa. E, portanto, os fornecedores de navegadores fornecem uma lista arbitrária personalizada da CA raiz em que confiarão sem solicitar seu consentimento.

Ou seja: Se você tem um relacionamento muito bom com a fundação Mozilla, sua própria CA raiz autoassinada arbitrária pode ser adicionada a essa lista no próximo lançamento do navegador Firefox ... Só porque eles decidiram!

Além disso, não há RFC que defina o comportamento e as regras sobre como os navegadores devem se comportar em relação aos certificados. Este é um consenso implícito de que, como o "CN" do certificado é igual ao nome do domínio, ele deve corresponder.

Como isso não foi suficiente em algum momento, todos os fornecedores de navegadores envelheceram implicitamente que um certificado curinga do formulário *.domain.comcorresponderia a qualquer subdomínio. Mas corresponde apenas a um nível: não, sub.sub.domain.compor que isso? Porque eles decidiram que sim.

Agora, sobre sua pergunta original, o que impediria que seu certificado de domínio primário pudesse criar sub-certificados para seus próprios subdomínios, é um processo fácil para o navegador verificar, apenas obtendo a cadeia de certificados.

A resposta é: nada

(exceto que tecnicamente você deve ter um "sinalizador" em seu próprio certificado de domínio para fazer isso)

Os fornecedores, se acharem conveniente o suficiente, podem decidir apoiá-lo.

No entanto, voltando à minha primeira declaração, este é um grande negócio de dinheiro. Portanto, as poucas autoridades de certificação raiz que têm acordos com os fornecedores de navegadores estão gastando grandes quantias para aparecer nessa lista. E hoje, eles recebem esse dinheiro de volta porque você precisa pagar por cada certificado de subdomínio individual ou obter um curinga que é muito mais caro. Se eles permitissem criar seus próprios certificados de subdomínio, isso reduziria tremendamente o lucro deles. É por isso que, a partir de hoje, você não pode fazê-lo.

Bem, você ainda pode, porque seriam estritamente certificados x509 válidos, mas nenhum navegador o reconheceria.

Simon
fonte
Nitpick menor com o seu exemplo de anúncio. O Active Directory por si só, na verdade, não usa ou contém uma infraestrutura de PKI. Você precisa aumentar isso separadamente e, opcionalmente, configurar o domínio para confiar na cadeia e gerar certs para os controladores de domínio. Caso contrário, boa resposta.
Ryan Bolger