Jak działa protokół SSL? Czy nie ma dziury?

4

czytałem Ten artykuł , szczególnie część „SSL w akcji”. To mówi:

Gdy klient łączy się z firmą.com na swoim porcie zabezpieczonym protokołem SSL, firma odsyła swój klucz publiczny (i kilka innych informacji, takich jak obsługiwane szyfrowanie).
...
Gdy klient jest zadowolony z serwera (i serwera z klientem, w razie potrzeby), klient wybiera szyfr SSL, który ma być używany z listy metod szyfrowania dostarczanych przez serwer i generuje „klucz symetryczny” (hasło) do użytku z tym szyfrem. Klient szyfruje to hasło przy użyciu klucza publicznego serwera i wysyła go z powrotem na serwer. Serwer (i tylko serwer) może odszyfrować tę wiadomość i uzyskać to hasło, które jest teraz udostępniane zarówno przez klienta, jak i serwer.

Tak więc rozumiem, że jest tylko jeden klucz publiczny; ten, który jest przekazywany firmie.com przez zaufaną stronę trzecią (thawte / godaddy / verisign itp.). Następnie klient akceptuje ten klucz / certyfikat, a następnie wysyła hasło używane do szyfrowania przyszłych komunikatów.

Jeśli jest tylko jeden klucz publiczny, haker nie może po prostu przejść do tej witryny raz, pobrać kopii klucza publicznego, a następnie przechwycić klienta, gdy wysyła hasło, odszyfrować go przy użyciu klucza publicznego, który już posiada, a następnie szpiegować wszystkie przyszłe komunikaty? Co to uniemożliwia?

Część, której nie rozumiem, jest

Serwer (i tylko serwer) może odszyfrować tę wiadomość i uzyskać to hasło

Dlaczego tylko serwer może odszyfrować wiadomość? Co uniemożliwia innym odszyfrowanie go?

mpen
źródło

Odpowiedzi:

6

Klucz publiczny to jeden sposób. Nie możesz odszyfrować komunikacji z nim. Aby odszyfrować, potrzebujesz prywatnej części pary kluczy.

Bill Heller
źródło
2
Widzieć en.wikipedia.org/wiki/Asymmetric_key za naprawdę dobry opis.
Bill Heller
1
Dziękujemy za ten link. To doprowadzi mnie do następnego pytania ... jeśli klient może szyfrować rzeczy, dlaczego nie może wydedukować algorytmu, który mógłby go odszyfrować? Czy wszystkie relacje matematyczne są odwracalne (plus / minus, mnożenie / dzielenie, moc / log), chyba że informacje są wyrzucane (nie są to relacje 1-do-1), takie jak mieszanie? Ale myślę, że to zdanie wyjaśnia to „Są one oparte na matematycznych relacjach (w szczególności na faktoryzacji liczb całkowitych i logarytmach dyskretnych), które nie mają skutecznego rozwiązania.” Ale technicznie moglibyśmy stworzyć klucz prywatny z klucza publicznego ...
mpen
1
... po prostu wymagałoby to śmiesznego czasu (zgaduję kilka żyć)?
mpen
2
Dokładnie. Jestem pewien, że ostry matematyk może dać ci coś bardziej szczegółowego, ale z ograniczonymi zasobami komputerowymi (tak jak w przypadku klastra Linux z węzłem 10000). jak w, czas pozostały do ​​słońca jest brykietem z węgla drzewnego) Oczywiście wraz ze wzrostem mocy obliczeniowej może będzie to bardziej wykonalne, ale zawsze napotkasz problemy związane z kosztami i korzyściami. Nawet jeśli masz superkomputer, musisz zarabiać więcej dzięki włamaniu, niż kosztować instalację systemu i uruchomienie go.
Bill Heller
Brykiet drzewny @Bill Heller nie jest żartem, według Verisign przy obecnych procesach komputerowych atakujący (prawdopodobnie z jednym komputerem) potrzebowałby 1 bilion lat na złamanie 128-bitowej szyfrowanej sesji SSL.
Andrew Lambert