web-dev-qa-db-fra.com

Obtention d'un certificat S / MIME sans divulguer ma clé privée à la TTP

J'aimerais obtenir un certificat S/MIME de confiance, mais toutes les autorités de certification que j'ai posées jusqu'à présent génèrent le clavier sur leur serveur, signer le certificat et m'envoient la clé privée et le certificat signé public.

Il me semble que cela expose inutilement ma clé privée à l'autorité de certification et, à la lumière du prisme, de nombreux autres, je ne comprends pas pourquoi ils ont besoin de voir ma clé privée.

Créer un certificat non approuvé sur ma machine avec openssl n'est pas un problème. Est-ce que quelqu'un connaît une autorité de certification qui signerait une clé publique déjà créée sans jamais avoir accès à ma clé privée?

Je suis conscient qu'une solution basée sur OpenPGP éviterait ce problème, mais très peu de personnes et de programmes de messagerie l'utilisent.

12
user1043479

Ce n'est pas standard pour une CA commercialisée à insister sur la fabrication de vos clés privées. Pour des raisons que vous mentionnez.

Voici un link pointant vers une collection de fournisseurs de CA qui suggère (et à juste titre) que la chose typique est que votre navigateur crée la liste de clés, puis envoyez la demande de signature de certificat à la ca. Dans mon expérience avec des certificats VeriSign haut de gamme, c'est vrai. Je n'ai jamais essayé les solutions gratuites/bon marché.

N'oubliez pas que lorsque la CA vous promène dans une demande basée sur le navigateur, vous pouvez très bien avoir la clé privée stockée uniquement sur les sociétés de navigateur - CA consacrent une certaine quantité d'efforts sur les tests de compatibilité du navigateur pour rendre cela possible. Ne présumez pas que le serveur génère la clé simplement parce que vous utilisez un navigateur. Sauf si cela fournit "Toux Escrow", mon expérience a été que cela est peu probable.

Pour la plupart, mon expérience avec CA Les entreprises ont été qu'ils ne veulent vraiment pas prendre de facteurs de formulaire errant - si vous souhaitez envoyer une demande faite maison pour la sigance de certificats, vous aurez probablement besoin de trouver un service qui coûte plus cher ... La raison en est un coût pur - il y a généralement beaucoup plus de main-d'œuvre impliquée dans cette approche, car les moyens de gâcher cette approche sont nombreux et une demande de certification "générique" doit souvent être gâchée pour répondre à la politique de sécurité et aux paramètres requis. par la ca.

Si vous devez absolument générer des certs avec OpenSSL, je dirais que vous souhaitez rechercher des options de provisioning de serveur qui vous permettent de la configurer pour ressembler à un certificat S/MIME. Préparez-vous à payer les coûts de certification du serveur.

Sinon, vérifiez le processus et vérifiez que les touches sont générées sur le navigateur.

9
bethlakshmi

Bien que une autorité de certification n'a pas besoin la clé privée pour émettre un certificat, des certificats pour S/MIME sera utilisé pour cryptage : Une fois que vous avez un certificat S/MIME, les gens vous enverront des courriels cryptés et les courriels resteront cryptés dans votre boîte aux lettres.

Cela implique que perdre votre clé privée (par exemple, votre disque dur de calcul échoue, ou votre ordinateur portable est volé) implique de perdre vos courriels précieux. C'est un problème. Pour éviter cela, les touches de cryptage doivent avoir une sauvegarde ( keyscrow peut être considérée comme une sorte de sauvegarde). En ce sens, une CA générant la paire de clés et ​​Garder une copie de la clé privée peut être un service très utile.

Bon CA devrait vous offrir le choix entre générer la clé privée de votre côté ou de leur côté. Si vous générez la clé privée vous-même, et que jamais la CA (seule la clé publique, dans le cadre de la demande de certificat), alors tout type de sauvegarde est, bien sûr, votre responsabilité.


Le mode par défaut de la plupart des CA est ce qui est le plus facile à utiliser et constitue la probabilité d'un client iraté ou de détresse les téléphonant aussi bas que possible. Le processus de génération de certificats sera surtout basé sur le Web, mais le certificat et sa clé privée doivent en fine être disponible pour l'application Mail de l'utilisateur, qui peut être tout à fait désagréable de son navigateur Web. Envoi d'une archive de PKCS # 12 (PFX) à l'utilisateur en tant que fichier est une méthode qui fonctionne "partout" (si une application de messagerie prend en charge S/MIMe, elle prend en charge l'importation d'un fichier n ° 12 PKCS). Génération de clé privée locale, envoi d'une demande de certificat, obtention du certificat et l'important le dos, restauration du lien logique entre la clé privée et le certificat, est un processus qui peut ​​Travail, mais dépend du logiciel spécifique spécifique. (Type d'exploitation, Version OS, Type de navigateur, Version du navigateur, Type d'application Mail, Version d'application Mail). De nombreuses variantes signifient un risque accru d'appels d'assistance, qui est le coût majeur dans l'exploitation d'une ca.

5
Thomas Pornin