2017-07-03 1 views
0

Ma question concerne la non-répudiation dans TLS avec l'utilisation de fichiers de clés et de fichiers de clés certifiées Java. Les certificats racine et intermédiaire situés dans le fichier de clés et le fichier de clés certifiées vérifient un autre certificat. S'ils sont manipulés, ils pourraient potentiellement vérifier un mauvais certificat.Protection du certificat racine et intermédiaire dans le fichier de sécurité du transport de clés (TLS)

Normalement, lors de la génération d'un nouveau certificat, l'autorité de certification vérifie la chaîne de confiance et voit si le certificat vient avec le bon certificat intermédiaire et racine. Mais que faire si l'attaquant manipule le certificat aussi?

Si l'attaquant pouvait pirater le mot de passe, ne pourrait-il alors pas être possible de changer le certificat?

Je sais qu'une amélioration consiste à utiliser un meilleur hachage, par exemple, en utilisant SHA-512 au lieu de SHA-256. Un autre devrait s'assurer que les certificats ne peuvent venir que de certaines autorités de certification.

Y a-t-il d'autres améliorations connues pour protéger le certificat racine et intermédiaire?

Y a-t-il d'autres limitations connues de TLS?

Répondre

2

Le certificat racine et intermédiaire situé dans le fichier de clés et le fichier de clés certifiées vérifie un autre certificat. S'ils sont manipulés, ils pourraient potentiellement vérifier un mauvais certificat.

Le fichier de clés certifiées contient les certificats racine des autorités de certification (AC) acceptées. Habituellement, il ne contient pas les certificats intermédiaires. Le fichier de clés certifiées doit être sécurisé car s'il est manipulé (comme vous l'avez dit), vous pouvez accepter un certificat indésirable.

Le magasin de clés contient des certificats clients, et non des certificats de confiance.

Normalement, lors de la génération d'un nouveau certificat, l'autorité de certification vérifie la chaîne de confiance et voit si le certificat vient avec le bon certificat intermédiaire et racine. Mais que faire si l'attaquant manipule le certificat aussi?

L'autorité de certification ne vérifie aucune chaîne. Vous fournissez une requête CSR (Certificate Signing Request) à l'autorité de certification, qui est une demande de certificat signée avec votre clé privée. L'autorité de certification génère le certificat, le signe avec la clé privée de CA et vous renvoie le certificat et la chaîne. Voir Certificate enrollment process

L'attaquant ne peut pas manipuler le certificat car il ne possède pas la clé privée de l'autorité de certification, et la vérification avec la clé publique de la racine approuvée échouera.

Si l'attaquant pouvait pirater le mot de passe, ne pourrait-il alors pas être possible de changer le certificat?

Un certificat est public. La clé privée correspondante est privée. Pour prouver que vous possédez un certificat est d'effectuer une signature numérique avec le privé. Donc, pour "pirater" un certificat, l'attaquant a besoin de la clé privée.(Une clé privée peut être protégée par un mot de passe, mais cela est lié à la façon dont la clé privée est stockée)

Je sais une amélioration est d'utiliser un meilleur hachage, par exemple, en utilisant SHA-512 au lieu de SHA -256.

Je pense que cela ne soit pas liée à la question

Un autre serait de faire en sorte que les certificats ne peuvent se former une certaine autorité de certification.

Bien sûr, c'est le but du fichier de clés certifiées. La façon dont un certificat est ajouté à la truststore est en dehors du champ d'application de TLS

Y at-il d'autres limitations connues de TLS?

Veuillez détailler ...