Como o SAN Certs prejudica o desempenho?

11

Ouvi dizer que, quando muitos nomes são adicionados a um único SAN Cert (nome alternativo da entidade), o desempenho começa a diminuir.

Alguém pode explicar como os certificados de SAN são processados ​​para que eu entenda o que causa o custo de desempenho à medida que os nomes na SAN aumentam?

Kyle Brandt
fonte
Isso também pode ser útil em security.se ...
Peter Graça
5
Nunca ouvi falar de entradas SAN prejudicando o desempenho (exceto o óbvio aumento leve na largura de banda para transferir o certificado e a sobrecarga de processamento de cada entrada; elas não devem significar nada que valha a pena mencionar, a menos que você esteja tentando colocar milhões de SANs no mesmo certificado). Gostaria de divulgar sua referência?
Chris S
Em uma ligação com a Comodo, eles nos disseram que era esse o caso (começa a se degradar mais de cem). Eu achava que talvez estivesse "processando cada entrada", mas não tenho certeza do fluxo de processamento lá - daí a minha pergunta.
Kyle Brandt
4
É apenas um forloop, para ver se o host corresponde a uma das SANs. 50 SANs, não há problema. 5.000.000 SANs, problema.
Michael Hampton
1
Parece um estratagema conseguir que os clientes comprem mais certificados para mim. Você realmente tem um caso de uso para tantas 'SAN'? Eu realmente só o usei para a capacidade de usar www / no www e para servidores de troca em que tive o URL externo, o endereço do servidor interno e a descoberta automática. Não consigo ver nenhum provedor SSL feliz em fornecer um certificado que cobre centenas de nomes. Um curinga seria mais fácil, mas isso não cobre nomes com 'mais pontos'.
USD Matt

Respostas:

5

Alguns testes superficiais parecem sugerir que estou sendo alimentado com um monte de malária.

Eu gerei o certificado assim:

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

Quando tento curl e wget, não consigo obter diferenças visíveis:

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

Os resultados são os mesmos com www vs www2500. Eu acho que é possível que --inseguro ignore completamente a verificação, mas por enquanto vou dar o carimbo padrão de um teste muito não científico:

insira a descrição da imagem aqui

Kyle Brandt
fonte