Comment les certificats SAN dégradent-ils les performances?

11

J'ai entendu dire que lorsque de nombreux noms sont ajoutés à un seul SAN Cert (Subject Alternative Name), les performances commencent à se dégrader.

Quelqu'un peut-il expliquer comment les certificats SAN sont traités afin que je comprenne ce qui cause le coût des performances à mesure que les noms sur le SAN augmentent?

Kyle Brandt
la source
Cela pourrait également être utile sur security.se ...
Peter Grace
5
Je n'ai jamais entendu parler d'entrées SAN dégradant les performances (à part la légère augmentation évidente de la bande passante pour transférer le certificat et les frais généraux de traitement de chaque entrée; celles-ci ne devraient rien valoir à moins que vous essayiez de mettre des millions de SAN dans le même certificat). Voulez-vous divulguer votre référence?
Chris S
Lors d'un appel avec Comodo, ils nous ont dit que c'était le cas (commence à se dégrader sur une centaine). Je devinais que c'était peut-être "traiter chaque entrée", mais je ne suis pas sûr du flux de traitement là-bas - d'où ma question.
Kyle Brandt
4
C'est juste une forboucle, pour voir si l'hôte correspond à l'un des SAN. 50 SAN, pas de problème. 5 000 000 de SAN, problème.
Michael Hampton
1
Cela ressemble à un stratagème pour inciter les clients à acheter plus de certificats à ma place. Avez-vous réellement un cas d'utilisation pour autant de SAN? Je ne l'ai vraiment utilisé que pour la possibilité d'utiliser www / no www et pour les serveurs d'échange où j'ai eu l'url externe, l'adresse du serveur interne et la découverte automatique. Je ne vois aucun fournisseur SSL heureux de fournir un certificat couvrant 100 noms. Un caractère générique serait plus facile, mais cela ne couvre pas les noms avec «plus de points».
USD Matt

Réponses:

5

Certains tests superficiels semblent suggérer que je suis nourri d'un tas de malarky.

J'ai généré le certificat comme ceci:

openssl genrsa -out www.domain.tld.key 2048

[kbrandt@alpine: ~/sancrt] openssl req -new -key www.domain.tld.key -out www.domain.tld.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:NY
Locality Name (eg, city) []:New York
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LOTA-SAN
Organizational Unit Name (eg, section) []:SANSRUS
Common Name (e.g. server FQDN or YOUR name) []:www.domain.tld
Email Address []:[email protected]
....

echo -n "subjectAltName=DNS:www.domain.tld," > www.domain.tld.cnf;for i in {1..2500}; do echo -n "DNS:www$i.domain.tld,"; done >> www.domain.tld.cnf   

#manually delete comma at the end of the .cnf

openssl x509 -req -days 365 \
>   -in www.domain.tld.csr \
>   -signkey www.domain.tld.key \
>   -text \
>   -extfile  www.domain.tld.cnf \
>   -out www.domain.tld.crt
Signature ok
subject=/C=US/ST=NY/L=New York/O=LOTA-SAN/OU=SANSRUS/CN=www.domain.tld/[email protected]
Getting Private key

cat *.key *.crt > sillysan.pem

Lorsque j'essaie curl et wget, je ne peux pas obtenir de différences notables:

time curl -ssl3 --noproxy \* -D - --insecure http://www2500.domain.tld
curl -ssl3 --noproxy \* -D - --insecure http://www2500.domain.tld  0.01s user 0.00s system 69% cpu 0.012 total

Les résultats sont les mêmes avec www vs www2500. Je suppose qu'il est possible que --insecure contourne complètement la vérification, mais pour l'instant je vais donner le cachet standard d'un test très non scientifique:

entrez la description de l'image ici

Kyle Brandt
la source