¿Cómo degradan el rendimiento SAN Certs?

11

He oído que cuando se agregan muchos nombres a un solo SAN Cert (Nombre alternativo del sujeto), el rendimiento comienza a degradarse.

¿Alguien puede explicar cómo se procesan los certificados SAN para que entienda qué causa el costo de rendimiento a medida que aumentan los nombres en la SAN?

Kyle Brandt
fuente
Esto también podría ser útil en security.se ...
Peter Grace
55
Nunca he oído hablar de entradas de SAN que degraden el rendimiento (aparte del evidente aumento leve en el ancho de banda para transferir el certificado y la sobrecarga del procesamiento de cada entrada; eso no debería equivaler a nada que valga la pena mencionar a menos que esté tratando de poner millones de SAN) en el mismo cert). ¿Quieres revelar tu referencia?
Chris S
En una llamada con Comodo nos dijeron que este era el caso (comienza a degradarse más de cien). Supuse que tal vez estaba "procesando cada entrada", pero no estoy seguro del flujo de procesamiento allí, de ahí mi pregunta.
Kyle Brandt
44
Es solo un forbucle, para ver si el host coincide con una de las SAN. 50 SAN, no hay problema. 5,000,000 SAN, problema.
Michael Hampton
1
Suena como una estratagema para que los clientes compren más certificados en mi lugar. ¿Realmente tienes un caso de uso para tantos SAN? Realmente solo lo he usado para la capacidad de usar www / no www, y para servidores de intercambio donde he tenido la URL externa, la dirección del servidor interno y la detección automática. No puedo ver a ningún proveedor de SSL contento de proporcionar un certificado que cubra cientos de nombres. Un comodín sería más fácil, pero eso no cubre nombres con 'más puntos'.
USD Matt

Respuestas:

5

Algunas pruebas superficiales parecen sugerir que me están alimentando un montón de malarky.

Genere el certificado así:

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

Cuando trato de curl y wget no puedo obtener ninguna diferencia notable:

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

Los resultados son los mismos con www vs www2500. Supongo que es posible que: inseguro omita la comprobación por completo, pero por ahora voy a dar el sello estándar de una prueba muy poco científica:

ingrese la descripción de la imagen aquí

Kyle Brandt
fuente