Certyfikaty i SSL

0

Hej,

Zagłębiając się w działanie połączeń opartych o SSL nie rozumiem jednej rzeczy. Chodzi mianowicie o to, jak klient może zweryfikować tożsamość serwera na podstawie certyfikatu i uznać host za zaufany. Z tego co rozumiem to w przeglądarce mam wbudowane certyfikaty od CA. Serwer po nawiązaniu połączenia przesyła certyfikat z podpisem cyfrowym do wygenerowania którego potrzebny był klucz prywatny CA. Przeglądarka (klient) może na podstawie posiadanych certyfikatów i kluczy publicznych zweryfikować podpis wystawiony kluczem prywatnym od CA.

Tylko tu pojawia się problem. Taki certyfikat podpisany cyfrowo, który przesyła serwer tak naprawdę można przechwycić i posługiwać się kopią 1:1 takiego certyfikatu. Mógłbym np. zapisać sobie certyfikat jakiegoś podmiotu i umieścić go na swoim serwerze (tomcat/weblogic) i posługiwać się identycznym podpisem. Jak to dokładnie działa?

0

Nie nie mógłbyś, server przesyła do klienta publiczny klucz pozwalający tylko szyfrować, ale klucz do deszyfrowania znajduje się cały czas tylko i wyłącznie na serwerze.

0

To, że klucze prywatne są na serwerze to wiem i jasne, że nie mógłbym odszyfrować nic zaszyfrowanego. Chodzi mi bardziej o zweryfikowanie certyfikatu, tj. jak przeglądarka stwierdza, że np. certyfikat od google.com, który de facto jest przesyłany podczas etapu serwer hello (handshake_type = 2) ( btw. niezaszyfrowany jeszcze niczym) jest faktycznie od googla, a nie np. od kogoś kto nie jest związany z google w żaden sposób ale wysłał TE SAME DANE CERTYFIKATU.

Czy to jest sprawdzane np. na podstawie nazwy podmiotu CN i porównaniu z nazwą hosta? Np. jeśli certyfikat googla zostanie użyty na innadomena.com to przeglądarka stwierdzi, że ktoś się podszywa pod google bo nie zgadza się nazwa podmiotu? O to mi chodzi

0

Nawet najtańszy certyfikat jest generowany dla konkretnej domeny, która musi być twoja (jest to veryfikowane przy zamówieniu) im lepsze certyfikaty tym jest tego więcej, np dla "zielonego paska" jest kompletna veryfikacja firmy posiadającej daną domenę, trzeba przesyłać stos dokumentów.

0

Czyli z tego co rozumiem wygenerowany certyfikat jest zmatchowany z nazwą konkretnej domeny i nie ma możliwości posługiwania się tak podpisanym certyfikatem na innej domenie :)

Tak przy okazji z ciekawości :) Załóżmy, że chciałbym otworzyć biznes w sieci mojafirma.com. Chcę rozbić domenę na poszczególne moduły, np.

mojafirma.com -> główna strona
finanse.mojafirma.com -> dział finansów
hr.mojafirma.com -> hry
chat.mojafirma.com -> chat dla pracowników
... itp

Czy muszę zakupić dla poszczególnych adresów certyfikaty czy jeden certyfikat może objąć kilka adresów w obrębie domeny (tutaj mojafirma.com)?

2

Możesz kupić albo n certyfikatów (na każdą subdomenę), albo ssl wildcard - jeden obejmujący wszystkie subdomeny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1