Как SAN Certs ухудшают производительность?

11

Я слышал, что когда к одному имени SAN Cert (Subject Alternative Name) добавляется множество имен, производительность начинает ухудшаться.

Может кто-нибудь объяснить, как обрабатываются сертификаты SAN, чтобы я понял, что приводит к снижению производительности при увеличении имен в SAN?

Кайл Брандт
источник
Это также может быть полезно для security.se ...
Питер Грейс,
5
Я никогда не слышал о том, чтобы записи SAN снижали производительность (кроме очевидного небольшого увеличения пропускной способности для передачи сертификата и затрат на обработку каждой записи; это не должно означать ничего заслуживающего упоминания, если вы не пытаетесь разместить миллионы SAN в том же сертификате). Хотите раскрыть вашу ссылку?
Крис С
По звонку с Comodo нам сказали, что это так (начинает ухудшаться более ста или около того). Я догадывался, что это может быть «обработка каждой записи», но я не уверен в том, что процесс обработки там - отсюда мой вопрос.
Кайл Брандт
4
Это просто forцикл, чтобы увидеть, соответствует ли хост одной из сетей SAN. 50 SAN, нет проблем. 5 000 000 SAN, проблема.
Майкл Хэмптон
1
Похоже на уловку, чтобы заставить клиентов покупать больше сертификатов вместо меня. У вас действительно есть сценарий использования для такого количества SAN? Я действительно использовал его только для возможности использовать www / no www, и для серверов обмена, где у меня был внешний URL-адрес, внутренний адрес сервера и автообнаружение. Я не вижу, чтобы какой-либо SSL-провайдер был доволен предоставлением сертификата, который охватывает 100 имен. Подстановочный знак будет проще, но он не охватывает имена с «большим количеством точек».
USD Мэтт

Ответы:

5

Некоторые поверхностные исследования, похоже, наводят на мысль, что меня кормят кучкой малярии.

Я сгенерировал сертификат следующим образом:

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 []:kyle@SANRUS.com
....

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/emailAddress=kyle@SANRUS.com
Getting Private key

cat *.key *.crt > sillysan.pem

Когда я пробую curl и wget, я не вижу заметных различий:

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

Результаты совпадают с www против www2500. Я предполагаю, что вполне возможно, что --insecure вообще обходит проверку, но сейчас я собираюсь дать стандартный штамп очень ненаучного теста:

введите описание изображения здесь

Кайл Брандт
источник