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_NULL
czy TLS_DH_anon_WITH_AES_256_CBC_SHA
moż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?
źródło
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.openssl s_server -key k.pem -cert c.pem -accept 443 -www
i dane wyjściowe nie zawierały żadnego zerowego szyfru, a-cipher TLS_DH_anon_WITH_RC4_128_MD5
także nie działały. EDYCJA, OK, zmusił serwer do pracy-cipher ADH
. Zobaczmy, co mówi o nich klient ...Odpowiedzi:
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).
źródło