Infrastructure à clé publique. Délivrance de certificats dans des conditions d'auto-isolement

Comment tout a commencé


Au tout début de la période d'auto-isolement, j'ai reçu une lettre par la poste:



la première réaction était naturelle: il fallait soit aller chercher des jetons, soit les apporter, et à partir de lundi, nous resterons tous à la maison, les restrictions de mouvement, et ce n'est pas une blague. Par conséquent, la réponse était assez naturelle:



Et comme nous le savons tous, à partir du lundi 1er avril, une période d'auto-isolement assez stricte a commencé. Nous aussi, nous sommes tous passés à udalenka et nous avions également besoin d'un VPN. Notre VPN est basé sur OpenVPN, mais modifié pour prendre en charge la cryptographie russe et la possibilité de travailler avec des jetons PKCS # 11 et des conteneurs PKCS # 12. Naturellement, il s'est avéré que nous n'étions pas tout à fait prêts à travailler avec un VPN: beaucoup n'avaient tout simplement pas de certificats, tandis que d'autres étaient arrivés à expiration.

Comment était le processus


Et ici, l'utilitaire cryptoarmpkcs et l'application CAFL63 ( autorité de certification) sont venus à la rescousse .

L'utilitaire cryptoarmpkcs a permis aux employés auto-isolés avec des jetons sur leurs ordinateurs personnels de générer des



demandes de certificat : les employés m'ont envoyé des demandes enregistrées par e-mail. Quelqu'un peut demander: - Qu'en est-il des données personnelles, mais si vous regardez attentivement, elles ne figurent pas dans la demande. Et la demande elle-même est protégée par sa signature.

Dès réception, la demande de certificat est importée dans la base de données CA CAFL63 CA:



Après cela, la demande doit être soit rejetée, soit approuvée. Pour considérer une demande, il est nécessaire de la sélectionner, d'appuyer sur le bouton droit de la souris et de sélectionner l'élément "Prendre une décision" dans le menu déroulant:



La procédure de prise de décision elle-même est absolument transparente:



un certificat est émis de la même manière, seul l'élément de menu est appelé «Émettre un certificat»:



pour afficher le certificat délivré, vous pouvez utiliser le menu contextuel ou simplement double-cliquer sur la ligne correspondante:



maintenant le contenu peut être visualisé comme utilisant openssl (onglet Texte depuis OpenSSL ”), ainsi que la visionneuse intégrée de l'application CAFL63 (onglet“ Texte du certificat ”). Dans ce dernier cas, vous pouvez utiliser le menu contextuel pour copier le certificat sous forme de texte d'abord dans le presse-papiers, puis dans le fichier.

Il convient de noter ici ce qui a changé dans CAFL63 par rapport à la première version? Quant à la visualisation des certificats, nous l'avons déjà noté. Il est également devenu possible de sélectionner un groupe d'objets (certificats, requêtes, CRL) et de les visualiser en mode de pagination (bouton "Afficher la sélection ...").

La chose la plus importante est probablement que le projet est disponible gratuitement sur le github . Outre les distributions pour linux, des distributions pour Windows et OS X sont préparées. Le kit de distribution pour Android sera présenté un peu plus tard.

Par rapport à la version précédente de l'application CAFL63, non seulement l'interface elle-même a changé, mais, comme déjà indiqué, de nouvelles fonctionnalités ont été ajoutées. Ainsi, par exemple, la page avec la description de l'application a été repensée, des liens directs vers le téléchargement des distributions y ont été ajoutés:



Beaucoup ont demandé et demandent maintenant où se procurer GOST-s openssl. Traditionnellement je donne un lien aimablement fournigarex. Comment utiliser cet openssl est écrit ici .
Mais maintenant, la version de distribution comprend une version de test d'OpenSL avec la cryptographie russe.

Par conséquent, lors de la configuration de l'autorité de certification, comme openssl est utilisé, il sera possible de spécifier soit / tmp / lirssl_static pour linux, soit $ :: env (TEMP) /lirssl_static.exe pour Windows:



dans ce cas, vous devrez créer un fichier lirssl.cnf vide et spécifiez le chemin d'accès à ce fichier dans la variable d'environnement LIRSSL_CONF:



L'onglet Extensions dans les paramètres de certificat est complété par le champ Accès aux informations d'autorité, où vous pouvez définir des points d'accès au certificat racine de l'autorité de certification et au serveur OCSP:



On entend souvent que les autorités de certification n'acceptent pas les demandes des candidats (PKCS # 10) qu'elles génèrent ou, pire encore, qu'elles s'imposent la génération de demandes avec la génération d'une paire de clés sur le support via un certain CSP. Et ils refusent de générer des requêtes sur des jetons avec une clé non récupérable (sur le même RuToken EDS-2.0) via l'interface PKCS # 11. Par conséquent, il a été décidé d'ajouter la génération de requêtes à la fonctionnalité d'application CAFL63 à l'aide des mécanismes de jetons cryptographiques PKCS # 11. Pour connecter les mécanismes de jeton, le package TclPKCS11 a été utilisé . Lors de la création d'une demande à l'autorité de certification (la page "Demande de certificats", la fonction "Créer une demande / CSR"), vous pouvez maintenant choisir comment la paire de clés sera générée (en utilisant openssl ou sur le token) et la demande sera signée:



La bibliothèque nécessaire pour travailler avec le jeton est écrite dans les paramètres du certificat:



mais nous nous sommes écartés de la tâche principale de fournir aux employés des certificats pour travailler dans le réseau VPN d'entreprise en mode d'auto-isolation. Il s'est avéré que certains employés n'ont pas de jetons. Il a été décidé de leur fournir des conteneurs sécurisés PKCS # 12, car CAFL63 le permet. Tout d'abord, nous faisons des demandes PKCS # 10 pour ces employés en indiquant le type de système de protection des informations cryptographiques OpenSSL, puis nous émettons un certificat et l'emballons dans PKCS12. Pour ce faire, sur la page Certificats, sélectionnez le certificat requis, cliquez avec le bouton droit de la souris et sélectionnez l'élément "Exporter vers PKCS # 12":



Pour vous assurer que tout est en ordre avec le conteneur, utilisez l'utilitaire cryptoarmpkcs:



Vous pouvez désormais envoyer des certificats délivrés aux employés. Seuls les fichiers avec certificats sont envoyés à quelqu'un (ce sont les détenteurs de jetons, ceux qui ont envoyé les demandes) ou les conteneurs PKCS # 12. Dans le second cas, chaque employé est informé par téléphone du mot de passe du conteneur. Il suffit que ces employés corrigent le fichier de configuration VPN, après avoir correctement défini le chemin d'accès au conteneur.

Quant aux propriétaires du token, ils devaient encore importer un certificat pour leur token. Pour ce faire, ils ont utilisé le même utilitaire cryptoarmpkcs:



Maintenant, la configuration VPN minimale change (l'étiquette de certificat sur le jeton pourrait changer) et c'est tout, le VPN d'entreprise est opérationnel.

Une fin heureuse


Et puis cela m'est venu à l'esprit, pourquoi les gens m'apporteraient-ils des jetons ou m'enverraient-ils un messager? Et j'envoie un e-mail avec le contenu suivant: La



réponse vient le lendemain:



j'envoie immédiatement un lien vers l'utilitaire cryptoarmpkcs:



avant de créer des demandes de certificat, j'ai recommandé de nettoyer les jetons:



ensuite, des demandes par e-mail pour des certificats au format PKCS # 10 ont été envoyées et j'ai émis certificats que j'ai envoyés à l'adresse:



Et puis un moment agréable est venu:



Et il y avait aussi une telle lettre:



Et puis cet article est né.

Les distributions d'applications CAFL63 pour les plates-formes Linux et MS Windows peuvent être trouvées


Les distributions de l'utilitaire cryptoarmpkcs, y compris la plate-forme Android, sont situées


All Articles