Każdy serwer WWW, który obsługuje szyfrowanie zerowe SSL? [Zamknięte]

1

Mam stare urządzenie, które łączy się ze stroną internetową HTTPS i pobiera niektóre treści. Chcę, aby to urządzenie pobierało zawartość z domeny, którą kontroluję, ale klient ma określonego osadzonego głównego urzędu certyfikacji i łączy się tylko wtedy, gdy połączenie SSL używa certyfikatu tego urzędu certyfikacji.

Z pewnością mogę to naprawić, zmieniając oprogramowanie na kliencie i zastępując adres URL https adresem HTTP, usuwając wszystkie elementy HTTPS z połączenia.

Jednak szukam sposobu, aby to zadziałało bez modyfikacji klienta (tylko zmiany w DNS) i teraz przeczytałem z „Szyfrów zerowych SSL”.

Mógłby za pomocą jednej z szyfrów SSL bez uwierzytelniania (na przykład, TLS_NULL_WITH_NULL_NULLczy TLS_DH_anon_WITH_AES_256_CBC_SHAmoże zrobić to urządzenie akceptuje mojego fałszywego połączenia? Może to akceptuje te fałszywe szyfrów ...

Ale nie mam pojęcia (i nie znalazłem wielu informacji w Internecie), w jaki sposób mogę zmusić mój serwer WWW do korzystania z tych szyfrów.

Obecnie używam Apache i próbowałem skonfigurować te szyfry, ale to nie działało, a dokumentacja stwierdza, że ​​zerowe szyfry zostały usunięte, ponieważ są niepewne. Wiem jednak, że są niepewne i i tak chcieliby je wykorzystać ...

Czy istnieje inny serwer WWW, którego mógłbym użyć do wynegocjowania zerowego szyfru z tym klientem i mam nadzieję, że połączy się on z moim serwerem, mimo że nie ma ważnego certyfikatu?

Teoretycznie, jeśli urządzenie akceptuje te szyfry, powinno to działać z fałszywym serwerem, ponieważ szyfry te nie uwierzytelniają serwera, prawda?

Florian Bach
źródło
Jak mówisz - jeśli urządzenie akceptuje te szyfry . To będzie twoje największe wyzwanie. Możesz spojrzeć na rekompilację OpenSSL lub podobną, aby zapewnić szyfr dla twojego serwera. Wcześniej możesz spróbować openssl s_server -cipher <list>sprawdzić, czy klient połączy się z zerowym szyfrem. Może być konieczne skompilowanie OpenSSL, aby to polecenie również działało.
garethTheRed
I jak mogę sprawić, aby serwer openssl używał zerowego szyfru? Próbowałem openssl s_server -key k.pem -cert c.pem -accept 443 -wwwi dane wyjściowe nie zawierały żadnego zerowego szyfru, a -cipher TLS_DH_anon_WITH_RC4_128_MD5także nie działały. EDYCJA, OK, zmusił serwer do pracy -cipher ADH. Zobaczmy, co mówi o nich klient ...
Florian Bach,
Nie zapomnij tutaj skomentować / odpowiedzieć - ciekawie będzie dowiedzieć się, jak to pójdzie. Powodzenia!
garethTheRed

Odpowiedzi:

1

Jest mało prawdopodobne, aby urządzenie, które wymusza określony certyfikat główny, tj. Próbuje wymusić odpowiednią weryfikację certyfikatu, może zostać przekonane do zaakceptowania uścisku dłoni bez uwierzytelnienia. Zazwyczaj szyfry z anonimowym uwierzytelnianiem nie są włączone po stronie klienta.

Poza tym: szyfr NULL to szyfr bez szyfrowania, który nadal może wymagać uwierzytelnienia (jak w TLS_RSA_WITH_NULL_SHA). To, o co prosisz, to szyfry bez uwierzytelnienia, które nadal mogą szyfrować (jak TLS_DH_anon_WITH_AES_128_CBC_SHA).

Steffen Ullrich
źródło
Próbowałem teraz zarówno szyfru NULL, jak i wielu szyfrów ADH za pomocą polecenia s_server zasugerowanego przez garethTheRed, ale niestety, jak się spodziewałeś, klient nie zaakceptował żadnego z nich. Cóż, myślę, że wciąż muszę załatać klienta, aby połączyć się z fałszywym serwerem ...
Florian Bach,
Jeśli przechwytujesz pakiet, możesz zobaczyć (na przykład w wireshark), które szyfruje klient oferuje serwerowi. Klient nie zaakceptuje żadnego szyfru, który nie jest oferowany w HelloHall uzgadniania TLS.
Steffen Ullrich