Puis-je être ma propre autorité de certification de confiance via un certificat intermédiaire signé?

23

Puis-je obtenir un certificat d'une autorité de certification racine que je peux ensuite utiliser pour signer mes propres certificats de serveur Web? J'utiliserais, si possible, un certificat signé comme intermédiaire pour signer d'autres certificats.

Je sais que je devrais configurer mes systèmes d'une certaine manière avec "mon" certificat intermédiaire afin de fournir des informations sur la chaîne de confiance à mes clients.

Est-ce possible? Les autorités de certification racine sont-elles disposées à signer un certificat comme celui-ci? Est-ce cher?

CONTEXTE

Je connais les bases de SSL en ce qui concerne la sécurisation du trafic Web via HTTP. J'ai également une compréhension de base du fonctionnement de la chaîne de confiance, en ce sens que le trafic Web est sécurisé "par défaut" si vous cryptez avec un certificat qui a une chaîne valide jusqu'à une autorité de certification racine, comme déterminé par le navigateur / Fournisseur OS.

Je sais également que de nombreuses autorités de certification racine ont commencé à signer des certificats pour les utilisateurs finaux (comme moi) avec des certificats intermédiaires. Cela peut nécessiter un peu plus de configuration de ma part, mais sinon, ces certificats fonctionneront bien. Je suppose que cela a à voir avec la protection de leur clé privée très précieuse pour l'AC et le désastre que ce serait si j'étais compromis.

EXEMPLES

  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

Maintenant, nous ne sommes certainement pas de la taille de ces organisations, mais elles semblent faire quelque chose comme ça. Cela rendrait certainement la gestion de ces certificats beaucoup plus agréable, surtout si l'on considère une façon d'étendre la portée de notre plate-forme de commerce électronique.

Clint Miller
la source

Réponses:

9

Votre question se lit pour moi et pour les autres comme "Comment puis-je émettre des certificats à des entités à l'intérieur et à l'extérieur de mon organisation qui sont approuvées par des internautes arbitraires?"

Si telle est votre question, la réponse est "Vous ne le faites pas". Si ce n'est pas le cas, veuillez clarifier.

Je recommande également de lire «Windows Server 2008 PKI and Certificate Security by Brian Komar» et de considérer tous les différents scénarios PKI pour vos applications. Vous n'avez pas besoin d'utiliser l'autorité de certification de Microsoft pour tirer quelque chose du livre.

duffbeer703
la source
J'apprécie la contribution, mais je pense que les exemples que j'ai cités établissent que la partie «Vous ne le faites pas» de votre déclaration est incorrecte. Regardez la chaîne de confiance pour ces certificats et vous verrez qu'il existe un certificat spécifique à l'entreprise entre l'autorité de certification racine (distribuée avec navigateur / OS) et le certificat que le serveur Web utilise pour crypter le trafic HTTPS.
Clint Miller
13
Ce n'est pas seulement un certificat. Sun / Microsoft / Dell exploite une autorité de certification intermédiaire. L'exploitation d'une CA ouverte au public est une tâche coûteuse et compliquée qui nécessite un audit externe périodique. Le livre Komar explique un certain nombre de scénarios d'AC et illustre pourquoi il est si complexe. Si la conception de votre application vous mène vers la voie de la CA, vous devez réfléchir longuement et sérieusement à vos objectifs de conception et à votre stratégie de mise en œuvre.
duffbeer703
8

Une recherche rapide montre que de telles choses existent, mais avec le 'contactez-nous pour un devis' suggère que ce ne sera pas bon marché:

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

Je ne fais aucune réclamation au sujet de la société, mais cette page peut vous donner des termes à utiliser pour trouver d'autres sociétés faisant de même.

Joe H.
la source
3

Si vous pouviez le faire, qu'est-ce qui empêcherait Joe Malware d'émettre un certificat pour www.microsoft.com et de vous donner sa propre marque de mises à jour "spéciale" via un détournement DNS?

FWIW, voici comment obtenir votre certificat racine inclus par Microsoft dans le système d'exploitation:

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

Les exigences sont assez élevées.

Tim Howland
la source
Eh bien, 2 choses, je suppose. 1. Il est évident qu'aucune autorité de certification racine ne me permettra de signer des certificats pour d'autres entités qui ne font pas partie de mon organisation. Ils ne pourront peut-être pas m'empêcher de le faire une fois, mais il ne faudra pas longtemps avant que le certificat qu'ils ont signé pour moi figure sur les listes de révocation, puis ce sera fini. 2. Plus important encore, quelles techniques à l'échelle "globale" existe-t-il pour le piratage DNS? Le problème d'empoisonnement du cache que Kaminsky a rendu célèbre a été corrigé par les fournisseurs DNS, non?
Clint Miller
Si tous les certificats dont vous parlez appartiennent à votre organisation, appartiennent-ils au même domaine de premier niveau? Si c'est le cas, un certificat SSL générique (* .mydomain.com) pourrait être une meilleure stratégie.
Tim Howland,
Malheureusement, j'ai plus de domaines à sécuriser, donc le caractère générique (qui était la stratégie initiale) ne fonctionnera pas pour nous car nous avons étendu notre activité aux cas où un domaine différent est souhaité. Ma solution pour le moment est les certificats SAN (autres noms de sujet), mais il est quelque peu pénible de créer un nouveau certificat pour chaque ajout / suppression d'un autre domaine.
Clint Miller
2

Il est fondamentalement impossible de distinguer un revendeur de cette autorité de certification racine, ce qui coûte presque certainement beaucoup d'efforts et d'argent. En effet, comme le note Tim, vous pouvez créer un certificat valide pour n'importe quel domaine, ce qui ne devrait pas être autorisé sauf si vous contrôlez ce domaine.

Une alternative est le programme revendeur de RapidSSL dans lequel ils font tout le travail dur et émettent à partir de leur autorité de certification racine.

TRS-80
la source
2
Je ne pourrais pas être plus en désaccord! Je ne veux pas revendre des certificats à d'autres. Je souhaite faciliter la gestion de la sécurisation des communications au sein de notre entreprise et entre notre entreprise et nos clients. Tim a posé une question légitime, mais je pense que vous manquez le point.
Clint Miller
3
Je regarde les choses du point de vue du CA - pour eux, ce que vous demandez, c'est de devenir un CA à part entière, ce qui est assez risqué pour eux - simplement parce que vous dites que vous ne voulez pas faire des certificats pour les autres ne signifie pas que vous n'en aurez pas la capacité technique, donc ils voudront des contrôles sérieux pour vous en assurer.
TRS-80
2

Posez-vous ces deux questions:

  1. Faites-vous confiance à vos utilisateurs pour importer correctement les certificats racine dans leur navigateur Web?
  2. Avez-vous les ressources nécessaires pour vous associer à une autorité de certification racine existante?

Si la réponse est oui à 1, CAcert a résolu votre problème pour vous. Si la réponse à 2 est oui, consultez la liste des certificats racine de confiance livrés avec OpenSSL, Firefox, IE et Safari et trouvez-en un pour signer votre certificat intermédiaire.

Lee
la source
2

Je pense que ce que vous feriez mieux est d'obtenir un certificat générique de l'autorité de certification, de cette façon, vous pouvez utiliser le même certificat sur n'importe quel sous-domaine de votre domaine principal, mais vous ne pouvez pas émettre de certificats pour autre chose.

Richard Gadsden
la source
1

Il est possible pour une autorité de certification racine d'émettre un certificat qui permet d'émettre d'autres certificats, mais uniquement sous un domaine spécifique. Ils doivent définir basicConstraints / CA: true et nameConstraints / allowed; DNS.0 = example.com

Ensuite, vous êtes libre d'exécuter votre propre autorité de certification et d'émettre des certificats comme test.example.com (mais pas test.foobar.com ) qui à son tour seront approuvés par le Web public. Je ne connais aucune autorité de certification racine qui fournit ce service, mais c'est effectivement possible. Si quelqu'un tombe sur un tel fournisseur, faites-le moi savoir.

Jonas Bjork
la source
0

En plus du lien de Joe H, voici un lien qui fonctionne réellement:

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

CA Root Signing n'est pas bon marché, mais ces choses existent pour les grandes entreprises.

Gerald Schittenhelm
la source
Veuillez envisager d'élargir votre réponse à partir du lien fourni. Les réponses de lien uniquement sont rejetées.
Konrad Gajewski,
0

Je sais que c'est un vieux post, mais je cherchais longtemps et dur quelque chose de presque identique à cela. Faisant écho à quelques autres posts ... c'est possible ... le tout soit assez cher et difficile à établir. Cet article est un peu utile dans le "qui le fait" et le général "ce qui est impliqué" ....

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

En ce qui concerne certains extras que j'ai ramassés auprès de sources dispersées ... certaines des exigences ont une "équité substantielle" et une "assurance" ... dont j'ai trouvé la liste entre 1 M $ et 5 M $ selon la source. Il va sans dire que ce n'est pas une option pour une petite entreprise.

De plus, j'ai vu des articles indiquant qu'il faudrait généralement près d'un an pour satisfaire toutes les exigences et passer à travers tous les cercles d'audit. De plus, les coûts accessoires impliqués dans l'ensemble du processus peuvent varier de 100 000 $ à + 1 M $ selon les coûts de l'entrepreneur général + juridique + main-d'œuvre ainsi que du nombre de vérifications que vous effectuez. Donc, encore une fois, pas une entreprise pour une petite entreprise.

Craig
la source