Czy możesz uniemożliwić środkowemu czytaniu wiadomości?
10
Słyszałem o wszystkich tych zapobieganiach atakom typu „człowiek w środku” i zastanawiam się, jak to może działać, jeśli mężczyzna w środku tylko słucha twojego strumienia i nie chce zmienić samej wiadomości.
Czy środkowy człowiek może nie tylko wziąć klucze zamienione przez przeciwników, zmienić klucze, a następnie ponownie odszyfrować i zaszyfrować wiadomość?
W jaki sposób certyfikat może temu zapobiec?
Edytować:
Słyszałem, że urząd certyfikacji ogólnie mówi: „Tak, to jest klucz do pozostałych”. Ale skąd mam mieć pewność, że podpis nie jest sfałszowany?
Czy środkowy człowiek może nie tylko wziąć klucze zamienione przez przeciwników, zmienić klucze, a następnie ponownie odszyfrować i zaszyfrować wiadomość?
Tak, moga.
Protokół wymiany kluczy, taki jak (wersja „podręcznikowa”) DH jest zabezpieczony przed podsłuchiwaniem (tj. Po prostu obserwowaniem tego, co jest przesyłane na kanale), ale całkowicie psuje się przed atakami typu man-in-the-middle (MITM), ponieważ oświadczyłeś.
Certyfikaty są próbą rozwiązania tego problemu, ale pojawia się inny problem: Jak zapewnić, że obie strony otrzymają poprawny certyfikat? Oczywiście nie można po prostu wysłać certyfikatów przez niezabezpieczony kanał, ponieważ jest to ponownie podatne na atak MITM.
Rozwiązaniem jest istnienie alternatywnego (całkowicie) bezpiecznego kanału . Może to być spotkanie dwóch stron osobiście i wymiana certyfikatów fizycznie lub za pośrednictwem innego, zaufanego kanału (np. Telefonicznie, jeśli można mu zaufać).
W sieciach komputerowych kanałem alternatywnym jest zwykle infrastruktura klucza publicznego (PKI). Oznacza to, że Twój system operacyjny lub przeglądarka ma zestaw wstępnie skonfigurowanych certyfikatów głównych, z których podpisywane są inne certyfikaty (a być może nawet dalsze certyfikaty, wykorzystujące je jako certyfikaty pośrednie ). Dlatego podczas odwiedzania strony internetowej przedstawia podpisany certyfikat, który jest podpisany przy użyciu (łańcucha) certyfikatów, którym już ufasz. Następnie przy użyciu tego certyfikatu możliwa jest wymiana uwierzytelnionego klucza (np. Uzgodnienie efemerycznego klucza do użycia ze zwykłym szyfrowaniem symetrycznym).
Więc w zasadzie komunikujemy certyfikaty drugim kanałem, wiemy, że jesteśmy bezpieczni?
TVSuchty
Tak; w przeciwnym razie atak MITM jest zawsze możliwy. Trochę sprzeczne z intuicją jest myślenie o strukturze jako infrastruktury PKI jako o „kanale”, ale pomysł nie jest tak daleko idący, jeśli weźmiesz to pod uwagę jako sposób przesyłania informacji (w tym przypadku certyfikatów).
dkaeae
Ale dlaczego nie mielibyśmy rozmawiać o kanale, o którym wiemy, że jest bezpieczny?
TVSuchty
1
@TVSuchty Potrzebujesz początkowego zaufanego klucza, ale trzeba go przekazywać tylko raz w życiu. Ten klucz może być również kluczem urzędu certyfikacji, któremu ufasz, że wydaje certyfikaty innym osobom. Np. Po zainstalowaniu przeglądarki dostarczanej z kluczami wielu urzędów certyfikacji. Przechodząc do witryny https, otrzymujesz klucz do witryny i certyfikat wydany przez urząd certyfikacji stwierdzający, że klucz jest poprawny, więc możesz zacząć https w porządku. Zakłada się jednak, że 1) odpowiednie są klucze CA w przeglądarce i 2) można ufać samym CA.
chi
1
@TVSuchty Jeden zaufany klucz wystarczy, o ile jest to klucz publiczny dla urzędu certyfikacji, któremu można zaufać. Firefox używa ~ 100 kluczy urzędu certyfikacji .
chi
5
Podczas ataku man-in-the-middle pytasz Boba o jego klucz, ale Ewa przechwytuje wiadomość i zamiast tego wysyła ci swój klucz. Prosi Boba o jego klucz, a następnie przekazuje wiadomości między tobą a Bobem, odszyfrowując je, czytając i / lub zmieniając w trakcie.
Problem polega na tym, że nie wiesz, czy naprawdę masz klucz Boba. Certyfikaty omijają ten problem, ponieważ urząd certyfikacji (CA) przekazuje Bobowi podpisany cyfrowo komunikat „Klucz Boba to 12345”. Możesz zweryfikować ten certyfikat, ponieważ nie ma wielu urzędów certyfikacji, więc Twoja przeglądarka zawiera tylko listę prawidłowych kluczy urzędu certyfikacji. Teraz, jeśli Ewa przechwyci twoją próbę zaszyfrowanej komunikacji z Bobem, ma dwie możliwości. Jeśli powie ci, że klucz Boba to 67890, to albo nie dostarczy certyfikatu, a powiesz „Przykro mi, musisz to udowodnić” lub ona poda fałszywy certyfikat i powiesz „Ten certyfikat jest nieważny”. Ewentualnie mówi ci, że klucz Boba to 12345 i przedstawia ważny certyfikat, ale nie ma to dla niej sensu, ponieważ ona nie „
Dlaczego Ewa nie może po prostu wysłać mi certyfikatu Bobs? Mam na myśli to, co jest specjalnego w kluczu Boba, aby Ewa nie mogła odtworzyć podobnego klucza? Skąd mam wiedzieć, że ten klucz jest certyfikowany? Jak zweryfikować certyfikat?
TVSuchty
Powiedziałem ci, dlaczego nie może wysłać Ci certyfikatu Boba (a raczej, dlaczego wysłanie Ci certyfikatu Boba nie pomaga jej). Nie ma czegoś takiego jak „podobny klucz”. Wiesz, że klucz jest certyfikowany, ponieważ masz certyfikat. Sprawdzasz certyfikat, weryfikując podpis cyfrowy za pomocą klucza urzędu certyfikacji.
David Richerby
@TVSuchty Eve musi najpierw odszyfrować wiadomość, aby ją przeczytać, a następnie ponownie zaszyfrować wiadomość, aby ją przekazać. Tylko prywatny certyfikat podpisywania Boba pozwoli ci na szyfrowanie jak Bob, ale nieszczęsna osoba poddana atakowi MITM musi być w stanie udowodnić, czy ma certyfikat Boba, aby wiedzieć, czy zamiast niego został dostarczony Eve. To jest powód, dla którego niektóre bezpieczne aplikacje monitują o zaakceptowanie klucza szyfrowania za pierwszym razem i za każdym razem, gdy się zmienia.
Willtech
1
@TVSuchty Certyfikat zasadniczo mówi „Jestem X i możesz ufać, że jestem X, ponieważ Y tak mówi”. Ewa może z łatwością stworzyć certyfikat, który mówi „Jestem Bobem i możesz ufać, że jestem Bobem, ponieważ Eve tak mówi”. Jeśli mój komputer otrzyma ten certyfikat, po prostu się śmieje. „Ewa tak mówi” nie jest powodem, by sądzić, że to certyfikat Boba. „Ponieważ Verisign tak mówi”, a Verisign jest jednym ze 100 dostawców certyfikatów zainstalowanych na twoim komputerze przez producenta, to powód, by w to wierzyć. Ale Ewa nie może sfałszować takiego certyfikatu.
gnasher729
Inna odpowiedź na pytanie „dlaczego nie mogę wysłać mi certyfikatu boba:„ Ewa może albo spróbować sfałszować certyfikat Boba, albo go ukraść. Może milion dolarów wystarczy, by przekupić jednego z pracowników Boba, aby przekazał kopię certyfikatu Boba. Bob musi się upewnić, że trudno ukraść certyfikat. W przypadku kradzieży certyfikat może zostać odwołany i nie będzie już akceptowany. Certyfikat powie teraz „jest to prawdziwy certyfikat Boba, ale został zgłoszony jako skradziony, więc nie ufaj temu”.
Podczas ataku man-in-the-middle pytasz Boba o jego klucz, ale Ewa przechwytuje wiadomość i zamiast tego wysyła ci swój klucz. Prosi Boba o jego klucz, a następnie przekazuje wiadomości między tobą a Bobem, odszyfrowując je, czytając i / lub zmieniając w trakcie.
Problem polega na tym, że nie wiesz, czy naprawdę masz klucz Boba. Certyfikaty omijają ten problem, ponieważ urząd certyfikacji (CA) przekazuje Bobowi podpisany cyfrowo komunikat „Klucz Boba to 12345”. Możesz zweryfikować ten certyfikat, ponieważ nie ma wielu urzędów certyfikacji, więc Twoja przeglądarka zawiera tylko listę prawidłowych kluczy urzędu certyfikacji. Teraz, jeśli Ewa przechwyci twoją próbę zaszyfrowanej komunikacji z Bobem, ma dwie możliwości. Jeśli powie ci, że klucz Boba to 67890, to albo nie dostarczy certyfikatu, a powiesz „Przykro mi, musisz to udowodnić” lub ona poda fałszywy certyfikat i powiesz „Ten certyfikat jest nieważny”. Ewentualnie mówi ci, że klucz Boba to 12345 i przedstawia ważny certyfikat, ale nie ma to dla niej sensu, ponieważ ona nie „
źródło