Klucz prywatny użytkownika jest używany tylko do autoryzacji?

8

Mam proste pytanie dotyczące protokołu OpenVPN. Załóżmy, że mamy dwóch różnych użytkowników, z różnymi kluczami dla tego samego serwera, i oba klucze mają 1024 bity. Jeśli dwaj użytkownicy złożą dokładnie to samo żądanie, a ktoś wącha dane na serwerze, ta osoba (sniffer) zobaczy te same dane dla obu użytkowników lub różne dane? Pytanie brzmi, czy klucz prywatny użytkownika ingeruje w kryptografię PO uwierzytelnieniu, czy też jest używany tylko w czasie uwierzytelniania. Dziękuję Ci.

użytkownik 2864778
źródło
W przypadku każdego semantycznie bezpiecznego szyfrowania zaszyfrowane dane będą się różnić, nawet jeśli zarówno klucz, jak i dane są identyczne. Zatem twoje pytanie może zostać sformułowane bardziej precyzyjnie jako „Czy protokół OpenVPN używa semantycznie bezpiecznego szyfrowania?”. Ponadto w niektórych trybach szyfrowania wszelkie przesyłane dane będą miały wpływ na szyfrowanie danych wysyłanych później. Dlatego nawet jeśli klucz zostanie użyty tylko na początku, nadal będzie to miało wpływ na wygląd zaszyfrowanych danych w całym połączeniu.
kasperd

Odpowiedzi:

10

Jeśli dwaj użytkownicy złożą dokładnie to samo żądanie, a ktoś wącha dane na serwerze, ta osoba (sniffer) zobaczy te same dane dla obu użytkowników lub różne dane?

Różne dane.

Pytanie brzmi, czy klucz prywatny użytkownika ingeruje w kryptografię PO uwierzytelnieniu, czy też jest używany tylko w czasie uwierzytelniania.

Klucze publiczne / prywatne są używane tylko podczas uwierzytelniania / negocjacji klucza.


OpenVPN może działać w jednym z dwóch trybów , z kluczem wstępnym lub za pomocą TLS z certyfikatami. Klucz wstępny jest stały, stały, ale pytasz o tryb certyfikatu.

Nie będę wdawał się w zbyt wiele szczegółów i możesz sam sprawdzić TLS, ale w zasadzie TLS używa certyfikatów (i kluczy prywatnych) do uwierzytelniania i podczas fazy negocjacji klucza. Generuje symetryczny klucz szyfrowania (np. BlowFish, AES itp.) I wykorzystuje kryptografię klucza publicznego do bezpiecznego udostępniania tego klucza.

Rzeczywiste wiadomości są następnie szyfrowane za pomocą szyfrowania symetrycznego. Każda sesja ma swój niezależny klucz szyfrowania (więc jeśli rozłączysz się i ponownie połączysz, w rzeczywistości otrzymasz inny klucz). Podobnie każdy użytkownik będzie miał różne sesje, a zatem różne klucze.

Są dwa powody, aby to zrobić. Szyfrowanie symetryczne jest znacznie szybsze niż szyfrowanie asymetryczne, dlatego jest preferowane w przypadku wysokiej przepustowości (trudność polega na udostępnianiu kluczy, co rozwiązuje faza negocjacji). Ponadto, generując nowy klucz za każdym razem, trudniej jest skompromitowanym kluczom ujawnić dane innych sesji ( FS ).

Kok
źródło
Ach, proszę bardzo - odpowiedź, którą właśnie pisałam, została tylko o wiele wyraźniej wyrażona. +1 ode mnie
MadHatter
+1 i zaakceptowane jako odpowiedź. Twoja odpowiedź była bardzo cenna i oczyściła moje pytania. Dziękuję
2864778,
1

Każdy klient szyfruje swoje dane za pomocą wynegocjowanego klucza między klientem a serwerem, więc dane otrzymane przez bramę VPN będą różne dla obu użytkowników.

denisvm
źródło
2
Pierwsza część jest nieprawidłowa. OpenVPN używa TLS , który nie wykorzystuje kryptografii klucza publicznego do szyfrowania wiadomości.
Bob