У меня есть старое устройство, которое подключается к веб-странице HTTPS и загружает некоторый контент. Я хочу, чтобы это устройство загружало контент из домена, которым я управляю, но клиент имеет встроенный корневой CA и подключается, только если SSL-соединение использует сертификат этого CA.
Конечно, я могу исправить это, изменив программное обеспечение на клиенте и заменив URL-адрес https на HTTP-адрес, удалив все компоненты HTTPS из соединения.
Однако я ищу способ заставить это работать без изменения клиента (только изменения DNS), и теперь я прочитал из «нулевых шифров SSL».
Может ли использовать один из шифров SSL без аутентификации (например, TLS_NULL_WITH_NULL_NULL
или, TLS_DH_anon_WITH_AES_256_CBC_SHA
возможно, заставить это устройство принимать мое поддельное соединение? Может быть, оно принимает эти поддельные шифры ...
Но я понятия не имею (и не нашел много информации в Интернете), как я могу заставить свой веб-сервер использовать эти шифры.
В настоящее время я использую Apache и пытался настроить эти шифры, но это не сработало, и в документации говорится, что нулевые шифры были удалены, потому что они небезопасны. Тем не менее, я знаю, что они небезопасны и хотели бы использовать их в любом случае ...
Есть ли другой веб-сервер, который я мог бы использовать для согласования нулевого шифра с этим клиентом и, надеюсь, подключить его к моему серверу, даже если у него нет действительного сертификата?
Теоретически, если устройство принимает эти шифры, это должно работать с поддельным сервером, так как эти шифры не аутентифицируют сервер, не так ли?
источник
openssl s_server -cipher <list>
чтобы увидеть, будет ли клиент подключаться с нулевым шифром. Возможно, вам придется скомпилировать OpenSSL, чтобы эта команда тоже работала.openssl s_server -key k.pem -cert c.pem -accept 443 -www
и вывод не содержал никаких нулевых шифров, а-cipher TLS_DH_anon_WITH_RC4_128_MD5
также не работал. РЕДАКТИРОВАТЬ, хорошо, получил сервер для работы-cipher ADH
. Давайте посмотрим, что клиент говорит об этом ...Ответы:
Маловероятно, что устройство, которое принудительно применяет определенный корневой сертификат, то есть пытается обеспечить надлежащую проверку сертификата, может быть убеждено в том, что оно принимает рукопожатие без какой-либо аутентификации вообще. Обычно шифры с анонимной аутентификацией не включены на стороне клиента.
Кроме того: NULL-шифр - это шифр без шифрования, который все еще может требовать аутентификации (как в TLS_RSA_WITH_NULL_SHA). То, что вы просите, - это шифры без аутентификации, которые все еще могут выполнять шифрование (например, TLS_DH_anon_WITH_AES_128_CBC_SHA).
источник