Dwa z największych problemów, z którymi deweloperzy mierzą się podczas migracji na HTTPS, to pojęcia i terminologia. W tym przewodniku znajdziesz krótkie omówienie obu tych metod.
Podsumowanie
- Używa kluczy publicznych/prywatnych do podpisywania i odszyfrowywania wiadomości przesyłanych między przeglądarką a serwerem.
- Urząd certyfikacji to organizacja, która odpowiada za mapowanie kluczy publicznych i publicznych nazw DNS (np. „www.foobar.com”).
- Żądanie podpisania certyfikatu (CSR) to format danych, który zawiera klucz publiczny wraz z niektórymi metadanymi dotyczącymi podmiotu będącego właścicielem klucza.
Czym są pary kluczy publicznych i prywatnych?
Para kluczy publiczny/prywatny to para bardzo dużych liczb, które są używane jako klucze szyfrowania i odszyfrowywania i mają ze sobą szczególny związek matematyczny. Typowym systemem par kluczy jest system szyfrowania RSA. Klucz publiczny służy do szyfrowania wiadomości, które można odszyfrować tylko za pomocą odpowiedniego klucza prywatnego. Twój serwer WWW ogłasza swój klucz publiczny na całym świecie, a klienci (np. przeglądarki internetowe) używają go do uruchamiania bezpiecznego kanału do Twojego serwera.
Co to jest urząd certyfikacji?
Urząd certyfikacji (CA) to organizacja, która odpowiada za mapowanie między kluczami publicznymi a publicznymi nazwami DNS (np. „www.foobar.com”). Jak klient ma wiedzieć, czy dany klucz publiczny jest prawdziwym kluczem publicznym dla adresu www.foobar.com? A priori nie ma możliwości, aby to wiedzieć. Urząd certyfikacji potwierdza, że dany klucz jest prawdziwym kluczem do danej witryny, używając własnego klucza prywatnego do podpisania kryptograficznego klucza publicznego witryny. Podpis jest niewykonalny do sfałszowania. Przeglądarki (i inni klienci) utrzymują magazyny punktów zaufania zawierające klucze publiczne należące do znanych urzędów certyfikacji. Używają tych kluczy publicznych do weryfikacji kryptograficznej podpisów urzędów certyfikacji.
Certyfikat X.509 to format danych, który łączy klucz publiczny z niektórymi metadanymi dotyczącymi podmiotu, który jest właścicielem klucza. W przypadku sieci właścicielem klucza jest operator witryny, a ważnymi metadanymi jest nazwa DNS serwera WWW. Gdy klient łączy się z serwerem WWW HTTPS, serwer WWW przedstawia swój certyfikat do weryfikacji. Klient sprawdza, czy certyfikat nie wygasł, czy nazwa DNS jest zgodna z nazwą serwera, z którym klient próbuje się połączyć, oraz czy certyfikat został podpisany przez zaufany rdzeń zaufania CA. W większości przypadków urzędy certyfikacji nie podpisują bezpośrednio certyfikatów serwera WWW. Zwykle istnieje łańcuch certyfikatów łączący kotwicę zaufania z podpisującym lub podpisującymi pośrednimi i ostatecznie z certyfikatem serwera WWW (podmiotem końcowym).
Co to jest żądanie podpisania certyfikatu?
Żądanie podpisania certyfikatu (CSR) to format danych, który podobnie jak certyfikat zawiera klucz publiczny wraz z niektórymi metadanymi dotyczącymi podmiotu będącego właścicielem klucza. Jednak klienci nie interpretują CSR, a urzędy certyfikacji tak. Jeśli chcesz, aby urząd certyfikacji potwierdził klucz publiczny Twojego serwera WWW, wyślij do niego CSR. CA weryfikuje informacje w żądaniu CSR i wykorzystuje je do wygenerowania certyfikatu. Następnie urząd certyfikacji wyśle Ci ostateczny certyfikat, który zainstalujesz na serwerze WWW (lub łańcuch certyfikatów) wraz z kluczem prywatnym.