BEZPIECZNA WARSTWA GNIAZD – ZAPEWNIAJĄCA UTRZYMANIE UTRZYMANIA KLIENTA SERWERA

IPSec i tym podobne chronią transmisję danych od końca do końca przez Internet. Oprócz tej ochrony wymagamy również metod zapewniających, że aplikacje mogą być prowadzone w podobnie bezpieczny i zweryfikowany sposób. Jedną z najprostszych, ale najczęściej wykorzystywanych aplikacji wymagających bezpieczeństwa, jest prosta transakcja między komputerem klienckim a usługą WWW, np. przy przekazywaniu szczegółów w celu autoryzacji płatności. Wymagany jest proces bezpieczeństwa, który znajduje się między warstwą aplikacji a ogólnym połączeniem TCP/IP, które przebiega pod nią. Jedną z bardzo popularnych metod jest protokół Secure Sockets Layer (SSL), pierwotnie opracowany przez firmę Netscape . Szczegóły transakcji są dość złożone, ale mechanizm jest stosunkowo prosty: dane między klientem a serwerem są szyfrowane w ramach warstwy rekordu SSL. Konieczne jest, aby klient ustalił zasady tego szyfrowania, a serwer zgodził się na to i działał zgodnie z nimi. Zrobione podczas uzgadniania SSL.

† Klient rozpoczyna transakcję wysyłając do serwera losową liczbę.

† Serwer odpowiada, wydając numer połączenia i swój klucz publiczny.

† Klient odpowiada komunikatem zaszyfrowanym przy użyciu klucza publicznego serwera, który zawiera informacje o kluczu (które będą używane do szyfrowania szczegółów transakcji, np. za pomocą DES) oraz kilka kluczy sk1 i sk2, które będą używane do walidacji wiadomości między klientem a serwerem.

† Używając swojego klucza prywatnego, serwer dekoduje te informacje i czeka.

† Klient używa sk1 do szyfrowania identyfikatora połączenia pierwotnie wydanego przez serwer i wysyła go do serwera.

† Serwer ma sk1, więc może zdekodować wiadomość, aby znaleźć identyfikator połączenia, który jest rzeczywiście ważny między serwerem a klientem.

† Serwer szyfruje teraz losowe „wyzwanie” wysyłane przez klienta na początku uzgadniania za pomocą sk2 i wysyła je do klienta.

† Klient może to odszyfrować i sprawdzić, czy rzeczywiście jest to właściwy serwer, z którym się komunikuje.

Obie strony udostępniają teraz bezpieczne klucze i mogą kontynuować transakcję. SSL jest w dużym stopniu zgodny z zasadą dobrego bezpieczeństwa, która wymaga niewiele od projektanta aplikacji: wszystko, co należy zrobić, to zamienić wywołanie narzędzia TCP na jedno na SSL. To był jeden z powodów, dla których SSL stał się najczęściej używanym protokołem bezpieczeństwa przeglądarki. Powinniśmy wspomnieć o jeszcze jednym udoskonaleniu, które zmienia technologię bezpieczeństwa SSL w bezpieczny proces: uwierzytelnianie klucza publicznego serwera. Tylko sprytni (lub nieco bystrzy?) spośród nas pomyśleliby o możliwości, że serwer WWW, z którym mamy do czynienia, nie jest tym, za kogo się podaje. Tak, deklaruje klucz publiczny, ale niekoniecznie taki, który należy do firmy, za którą się podaje. Ludzie, którzy zaprojektowali SSL, pomyśleli o tym: tak naprawdę nie jest to sam klucz publiczny, który może być oferowany przez serwer; może to być certyfikat cyfrowy, wystawiony przez urząd certyfikacji, potwierdzający tożsamość serwera.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *