Posso ser minha própria CA confiável por meio de um certificado intermediário assinado?

23

Posso obter um certificado de uma CA raiz que posso usar para assinar meus próprios certificados de servidor web? Se possível, usaria um certificado assinado como intermediário para assinar outros certificados.

Eu sei que teria que configurar meus sistemas de uma certa maneira com o "meu" certificado intermediário para fornecer informações sobre a cadeia de confiança aos meus clientes.

Isso é possível? As autoridades de certificação raiz estão dispostas a assinar um certificado como este? É caro?

FUNDO

Eu estou familiarizado com o básico do SSL no que diz respeito à segurança do tráfego da Web por HTTP. Também tenho um entendimento básico da maneira como a cadeia de confiança funciona, pois o tráfego da Web é protegido "por padrão" se você criptografar com um certificado que tenha uma cadeia válida até a CA raiz, conforme determinado pelo navegador Fornecedor de SO.

Também estou ciente de que muitas das autoridades de certificação raiz começaram a assinar certificados para usuários finais (como eu) com certificados intermediários. Isso pode exigir um pouco mais de configuração da minha parte, mas, caso contrário, esses certificados funcionarão bem. Eu acho que isso tem a ver com a proteção de sua chave privada valiosa para a CA e o desastre que seria se eu fosse comprometido.

EXEMPLOS

  1. https://www.microsoft.com
  2. https://www.sun.com
  3. https://ecomm.dell.com/myaccount/ga/login.aspx?c=us&cs=19&l=en&s=dhs

Agora, definitivamente não somos do tamanho de nenhuma dessas organizações, mas elas parecem estar fazendo algo assim. Definitivamente, tornaria o gerenciamento desses certificados muito mais agradável, especialmente considerando uma maneira de expandir o alcance da nossa plataforma de comércio eletrônico.

Clint Miller
fonte

Respostas:

9

Sua pergunta é para mim e para outras pessoas como "Como emito certificados para entidades dentro e fora da minha organização que são confiáveis ​​por usuários arbitrários da Internet?"

Se essa é sua pergunta, a resposta é "Você não". Caso contrário, esclareça.

Também recomendo a leitura "PKI do Windows Server 2008 e segurança de certificados por Brian Komar" e considere todos os vários cenários de PKI para seus aplicativos. Você não precisa usar a autoridade de certificação da Microsoft para tirar algo do livro.

duffbeer703
fonte
Agradeço a contribuição, mas acho que os exemplos que citei estabelecem a parte "Você não" da sua declaração como incorreta. Observe a cadeia de confiança desses certificados e verá que há um certificado específico da empresa entre a CA raiz (distribuída com o navegador / OS) e o certificado que o servidor da Web está usando para criptografar o tráfego HTTPS.
Clint Miller
13
Não é apenas um certificado. A Sun / Microsoft / Dell está operando uma CA intermediária. Operar uma empresa, a CA voltada para o público é uma tarefa cara e complicada que requer auditoria externa periódica. O livro de Komar explica vários cenários da CA e ilustra por que é tão complexo. Se o design do seu aplicativo está levando você a se tornar uma CA, você precisa pensar muito sobre suas metas de design e estratégia de implementação.
duffbeer703
8

Uma pesquisa rápida mostra que essas coisas existem, mas com o 'entre em contato conosco para uma cotação' sugere que não será barato:

https://www.globalsign.com/en/certificate-authority-root-signing/

Não faço reivindicações sobre a empresa, mas essa página pode fornecer termos para você encontrar outras empresas fazendo o mesmo.

Joe H.
fonte
3

Se você pudesse fazer isso, o que impedirá Joe Malware de emitir um certificado para www.microsoft.com e fornecer sua própria marca "especial" de atualizações por meio de um seqüestro de DNS?

FWIW, veja como obter seu certificado raiz incluído pela Microsoft no sistema operacional:

http://technet.microsoft.com/en-us/library/cc751157.aspx

Os requisitos são bastante íngremes.

Tim Howland
fonte
Bem, duas coisas, suponho. 1. É óbvio que nenhuma autoridade de certificação raiz permitirá que eu assine documentos para outras entidades que não fazem parte da minha organização. Eles podem não ser capazes de me impedir de fazê-lo uma vez, mas não demorará muito até que o certificado que eles assinaram para mim esteja nas listas de revogação e tudo acabe. 2. Ainda mais significativamente, que técnicas de escala "global" existem para o seqüestro de DNS? O problema de envenenamento de cache que Kaminsky tornou famoso foi corrigido pelos fornecedores de DNS, certo?
Clint Miller
Se todos os assuntos sobre os quais você está falando pertencem à sua organização, eles estão no mesmo domínio de nível superior? Nesse caso, um certificado SSL curinga (* .meudominio.com) pode ser uma estratégia melhor.
Tim Howland
Infelizmente, tenho mais domínios a proteger, portanto o curinga (que foi a estratégia inicial) não funcionará para nós, pois expandimos nossos negócios para casos em que um domínio diferente é desejado. Por enquanto, minha solução é SAN Certs (nomes alternativos de assunto), mas é um pouco doloroso criar um novo certificado para cada adição / exclusão de outro domínio.
Clint Miller
2

Isso é basicamente indistinguível de se tornar um revendedor para essa CA raiz, que quase certamente custa muito esforço e dinheiro para ser. Isso ocorre porque, como Tim observa, você pode criar um certificado válido para qualquer domínio, o que não deve ser permitido, a menos que você controle esse domínio.

Uma alternativa é o programa de revenda do RapidSSL, no qual eles fazem todo o trabalho duro e emitem a partir de sua CA raiz.

TRS-80
fonte
2
Eu não poderia discordar mais! Não quero revender certificados para outras pessoas. Desejo facilitar o gerenciamento da segurança das comunicações em nossos negócios e entre nossos negócios e clientes. Tim fez uma pergunta legítima, mas acho que você está perdendo o objetivo.
Clint Miller
3
Estou olhando do ponto de vista da CA - para eles, o que você está pedindo é se tornar uma CA de pleno direito, o que é bastante arriscado para eles - só porque você diz que não quer fazer certs para outras pessoas não significa que você não terá a capacidade técnica necessária; portanto, eles desejam controles sérios para garantir que não.
TRS-80
2

Faça a si mesmo estas duas perguntas:

  1. Você confia em seus usuários para importar corretamente certificados raiz para o navegador da web?
  2. Você tem os recursos para fazer parceria com uma CA raiz existente?

Se a resposta for sim para 1, o CAcert resolveu o seu problema. Se a resposta para 2 for sim, consulte a lista de certificados raiz confiáveis ​​enviados com o OpenSSL, Firefox, IE e Safari e encontre um para assinar seu certificado intermediário.

lee
fonte
2

Acho que seria melhor obter um certificado curinga da CA. Dessa forma, você pode usar o mesmo certificado em qualquer subdomínio do domínio principal, mas não pode emitir certificados para mais nada.

Richard Gadsden
fonte
1

É possível que uma CA raiz emita um certificado, o que possibilita a emissão de outros certificados, mas somente em um domínio específico. Eles precisam definir basicConstraints / CA: true e nameConstraints / allowed; DNS.0 = example.com

Você pode executar sua própria CA e emitir certificados como test.example.com (mas não test.foobar.com ), que por sua vez serão confiáveis ​​pela web pública. Não conheço nenhuma autoridade de certificação raiz que forneça esse serviço, mas é realmente possível. Se alguém se deparar com esse fornecedor, entre em contato.

Jonas Bjork
fonte
0

Além do link de Joe H, aqui está um link que realmente funciona:

https://www.globalsign.com/en/certificate-authority-root-signing/

A assinatura raiz da CA não é barata, mas existe para empresas maiores.

Gerald Schittenhelm
fonte
Considere expandir sua resposta no link fornecido. As respostas apenas ao link são reduzidas a voto.
Konrad Gajewski
0

Eu sei que este é um post antigo, mas eu estava procurando muito e quase algo idêntico a isso. Ecoando em alguns outros posts ... é possível ... tudo isso é muito caro e difícil de estabelecer. Este artigo é um pouco útil no "quem faz" e no geral "o que está envolvido" ....

https://aboutssl.org/types-of-root-signing-certificates/

Quanto a alguns extras que eu peguei de algumas fontes dispersas ... alguns dos requisitos são "patrimônio substancial" e "seguro" ... dos quais descobri que estão listados entre US $ 1 milhão e US $ 5 milhões dependendo da fonte. Portanto, escusado será dizer que esta não é uma opção para uma pequena empresa.

Além disso, vi posts afirmando que normalmente levará quase um ano para satisfazer todos os requisitos e passar por todos os obstáculos da auditoria. Além disso, os custos auxiliares envolvidos em todo o processo podem variar de US $ 100 mil a US $ 1 milhão, dependendo dos custos gerais do contratado + legais + mão-de-obra, além de quantos períodos de auditoria você realiza. Então, novamente, não é um empreendimento para uma pequena empresa.

Craig
fonte