Re: Время ssl handshake RSA & ECDSA
Maxim Dounin
mdounin на mdounin.ru
Ср Сен 25 13:27:00 UTC 2019
Hello!
On Wed, Sep 25, 2019 at 02:19:55PM +0200, Дмитрий Рыбалка wrote:
> Добрый день, прошу помочь разобраться с проблемой:
> Nginx 1.16.1 (проблема была и на прошлых версиях) из оф репозитория nginx
> для debian, openssl 1.1.1c (проблема есть и на openssl 1.1.0)
> Прописываю два ключа RSA & *ECDSA*. Пробовал ключи как от LE так и от comoda
>
> Пример настроек:
>
> > ssl_session_cache shared:SSL:5m;
> > ssl_session_timeout 30m;
> > ssl_ecdh_curve X25519:prime256v1;
> > ssl_buffer_size 4k;
> > ssl_session_tickets off;
> > resolver 8.8.8.8 8.8.4.4 valid=5m; #ipv6=off
> > resolver_timeout 1s;
> > ssl_prefer_server_ciphers on;
> > ssl_protocols TLSv1.2 TLSv1.3;
> > ssl_ciphers
> > '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';
> > ssl_stapling on; - включал выключал, разницы нет.
>
>
>
> Время хендшейка около 40мс.
> Если оставить только RSA то время уменьшается до 10мс
> Если оставить только EDSA, то время незначительно меняется и равно 38-39мс
> Если проверять скорость подписей openssl то ECDSA реально быстрее RSA, но
> почему при https подключении этого не видно?
> Проверял как чистым curl, так и black box экспортером для отслеживания
> динамики.
> Прошу помочь разобраться с данным нюансом
Начать стоит с вопроса как именно и где вы измеряете время (и
зачем). Если время измерять на клиенте - то ECDSA медленнее RSA,
такак операция проверки подписи в ECDSA сильно дороже.
Скажем, для ECDSA P-256 и RSA 2048 ситуация выглядит так:
$ openssl speed rsa2048 ecdsap256
...
sign verify sign/s verify/s
rsa 2048 bits 0.005821s 0.000168s 171.8 5958.5
sign verify sign/s verify/s
256 bit ecdsa (nistp256) 0.0003s 0.0012s 3588.2 858.3
То есть операция проверки подписи для ECDSA в разы дороже, чем для
RSA. Соответственно если измерять время handshake'а между ничего
не делающим быстрым сервером и клиентом фиксированной и не очень
большой производительности - от ECDSA-сертификатов будет сплошной
вред, ибо на него ляжет на порядок больше вычислительной работы.
Основная польза от ECDSA-сертификатов - это существенно меньшая
нагрузка на сервер, и соответственно возможность обслуживать
существенно большее количество клиентов. Но её в таком тесте
просто не будет видно.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru