<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body><div style="font-family:Helvetica,Arial;font-size:13px">Благодарю, я изначально неверно понял и решил что на стороне клиента также будет уменьшение времени.</div><div style="font-family:Helvetica,Arial;font-size:13px"><br></div> Еще раз Спасибо.<br> <div class="gmail_signature"><div style="font-family:Helvetica,Arial"><br></div></div> <br><p class="airmail_on">On 25 September 2019 at 15:27:09, Maxim Dounin (<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>Hello!<br><br>On Wed, Sep 25, 2019 at 02:19:55PM +0200, Дмитрий Рыбалка wrote:<br><br>> Добрый день, прошу помочь разобраться с проблемой:<br>> Nginx 1.16.1 (проблема была и на прошлых версиях) из оф репозитория nginx<br>> для debian, openssl 1.1.1c (проблема есть и на openssl 1.1.0)<br>> Прописываю два ключа RSA & *ECDSA*. Пробовал ключи как от LE так и от comoda<br>> <br>> Пример настроек:<br>> <br>> > ssl_session_cache shared:SSL:5m;<br>> > ssl_session_timeout 30m;<br>> > ssl_ecdh_curve X25519:prime256v1;<br>> > ssl_buffer_size 4k;<br>> > ssl_session_tickets off;<br>> > resolver 8.8.8.8 8.8.4.4 valid=5m; #ipv6=off<br>> > resolver_timeout 1s;<br>> > ssl_prefer_server_ciphers on;<br>> > ssl_protocols TLSv1.2 TLSv1.3;<br>> > ssl_ciphers<br>> > 'TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384';<br>> > ssl_stapling on; - включал выключал, разницы нет.<br>> <br>> <br>> <br>> Время хендшейка около 40мс.<br>> Если оставить только RSA то время уменьшается до 10мс<br>> Если оставить только EDSA, то время незначительно меняется и равно 38-39мс<br>> Если проверять скорость подписей openssl то ECDSA реально быстрее RSA, но<br>> почему при https подключении этого не видно?<br>> Проверял как чистым curl, так и black box экспортером для отслеживания<br>> динамики.<br>> Прошу помочь разобраться с данным нюансом<br><br>Начать стоит с вопроса как именно и где вы измеряете время (и <br>зачем). Если время измерять на клиенте - то ECDSA медленнее RSA, <br>такак операция проверки подписи в ECDSA сильно дороже.<br><br>Скажем, для ECDSA P-256 и RSA 2048 ситуация выглядит так:<br><br>$ openssl speed rsa2048 ecdsap256<br>...<br> sign verify sign/s verify/s<br>rsa 2048 bits 0.005821s 0.000168s 171.8 5958.5<br> sign verify sign/s verify/s<br> 256 bit ecdsa (nistp256) 0.0003s 0.0012s 3588.2 858.3<br><br>То есть операция проверки подписи для ECDSA в разы дороже, чем для <br>RSA. Соответственно если измерять время handshake'а между ничего <br>не делающим быстрым сервером и клиентом фиксированной и не очень <br>большой производительности - от ECDSA-сертификатов будет сплошной <br>вред, ибо на него ляжет на порядок больше вычислительной работы.<br><br>Основная польза от ECDSA-сертификатов - это существенно меньшая <br>нагрузка на сервер, и соответственно возможность обслуживать <br>существенно большее количество клиентов. Но её в таком тесте <br>просто не будет видно.<br><br>-- <br>Maxim Dounin<br><a href="http://mdounin.ru/">http://mdounin.ru/</a><br>_______________________________________________<br>nginx-ru mailing list<br><a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br><a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></span></blockquote></body></html>