Bezpieczeństwo sieci komputerowych. Szyfrowanie z kluczem symetrycznym, szyfrowanie z kluczem publicznym i prywatnym, certyfikaty cyfrowe, podpis elektroniczny. Zagadnienie jest rozległe i obejmuje bezpieczeństwo na poziomie systemów operacyjnych działających na pojedynczych komputerach, sieciowych systemów operacyjnych oraz protokołów i różnych systemów zabezpieczeń. Wykład dotyczy bardziej aspektów związanych z siecią (przesyłaniem danych między komputerami) oraz protokołów sieciowych. Poniższy tekst, zapisany szarą czcionką, stanowi wprowadzenie do tematu i obejmuje zagadnienia nie omawiane w trakcie wykładu (tekst do przeczytania). Pod tym tekstem znajduje się uproszczona notatka z wykładu. Wprowadzenie: zagrożenia, standardy bezpieczeństwa (do przeczytania) Na zagrożenia, jakie wynikają z wykorzystywania sieci komputerowych można patrzeć z różnych stron. Jakie dane mogą być zagrożone? Dane publiczne. Informacje powszechnie dostępne, np. strony WWW. Wiele firm opiera w znacznym stopniu działalność na informacjach publikowanych w Internecie. Zniszczenie, zniekształcenie informacji może spowodować utratę prestiżu, zaufania i dochodów. Dane wewnętrzne. Dane związane z działaniem firmy, normalnie dostępne tylko dla pracowników. Zniszczenie lub utrata tych danych może spowodować trudności w działaniu firmy, wykonanie normalnych operacji może okazać się niemożliwe lub utrudnione. Dane poufne. Dane o dostępie ograniczonym dla pewnej grupy użytkowników, używane wewnątrz firmy, np. listy płac. Dane tajne. Dane handlowe, własność intelektualna. Muszą być bezwzględnie chronione przed każdego rodzaju niepowołanym dostępem. Zagrożenia dla usług (serwisów) Blokowanie dostępu do usług i aplikacji DoS (Denial of Services). Ataki DoS polegają na zalaniu serwera dużą liczbą informacji lub żądania usług tak, że serwer przestaje funkcjonować w ogóle lub pracuje bardzo wolno (z punktu widzenia pojedynczego klienta). W wyniku ataku DoS dostęp do zasobów lub usług zostaje zablokowany, co skutkuje np. obniżeniem dochodów lub/i prestiżu. DoS mogą być wymierzone w takie zasoby, jak: Przestrzeń dyskowa, 1
Przepustowość sieci, Bufory portów, CPU DDos Distributed Denial of Services to blokowanie usług poprzez wysyłanie żądań do serwera z wielu komputerów w jednym czasie. Żądania takie mogą być wysyłane np. z tysięcy komputerów zainfekowanych wcześniej programem, który w określonym dniu i o określonym czasie powoduje łączenie z serwerem. Przypomnienie wiadomości z TCP: Przykład ataku klient wysyła dużo segmentów SYN rozpoczynających połączenie, ale nie odpowiada na segmenty SYN,ACK wysyłane przez serwer (tzn. klient nie wysyła segmentów ACK). Serwer przez pewien czas blokuje jednak zasoby na połączenie domniemając, że segment ACK od klienta zaginął. Serwer może zostać zablokowany, jeśli zarezerwuje na te fałszywe połączenia większość dostępnych zasobów. Wybrane kategorie ataków i zagrożeń Atak wewnętrzny (internal attack). Wykonywany przez osoby lub grupy w ramach danej organizacji (firmy). Wykonujący atak mają już dostęp do sieci i pewne prawa do jej zasobów. Często znają implementacje zabezpieczeń w sieci. Social Engineering. Tym terminem określa się ataki, w których osoba atakująca wykorzystuje oszustwo, podstęp (np. podaje się w rozmowie telefonicznej za administratora), nie wykorzystuje techniki komputerowej, ale polega na umiejętności nawiązywania kontaktu w celu otrzymania informacji umożliwiających włamanie do sieci (zasobów). Ataki mogą być realizowane np. po podaniu przez telefon swojego hasła rzekomemu pracownikowi serwisu lub nowemu administratorowi. Atak organizacyjny (organizational attack), ataki przeciwko państwom. Obejmuje akcje podejmowane przez jedną organizację (firmę) przeciw drugiej. Atak może obejmować dostęp do ważnych danych (co może np. dać atakującemu przewagę we współzawodnictwie na rynku), niszczenie danych lub blokowanie serwisów. Tego typu ataki mogą być podejmowane na większą skalę i mogą być prowadzone przez państwa (służby specjalne) przeciwko innym państwom. Przypadkowy wyłom w systemie bezpieczeństwa (accidental security breach). Tak określa się sytuacje, gdy przez niedopatrzenie (przypadek) pewnym użytkownikom przyznaje się zbyt duże prawa w sieci (np. przez omyłkowe dopisanie do pewnej grupy użytkowników). Zautomatyzowany atak (automated attack). Zautomatyzowane ataki wykonywane są z użyciem programów przeznaczonych do łamania haseł lub omijania zabezpieczeń w celu dostępu do sieci. Cel ataku może być z góry określony lub wykorzystywane programy mogą przeszukiwać Internet poszukując niezabezpieczonych komputerów. Często zautomatyzowany atak polega na blokowaniu dostępu do usług i 2
zasobów poprzez akcje podejmowane z dużej liczby komputerów (DDoS), których administratorzy świadomie współuczestniczą w ataku lub wręcz przeciwnie w ogóle nie wiedzą o tym, że ich komputer jest uczestnikiem ataku, gdyż kontrolę nad nim przejęli atakujący. Luki w oprogramowaniu Osobne zagadnienie związane z bezpieczeństwem systemu komputerowego to luki w programach (zwłaszcza serwujących jakieś usługi, np. serwer baz danych). Należy instalować aktualizacje oprogramowania. Zagrożenia związane z przesyłaniem danych Podsłuchiwanie i modyfikowanie przesyłanych danych. Podszywanie IP (IP address spoofing) adres źródłowy datagramu jest podmieniany. Man- in- the- middle pośrednictwo atakującego w wymianie danych między klientem i serwerem. Przechwycenie hasła. Skanowanie portów w poszukiwaniu serwisów (samo skanowanie nie jest zagrożeniem, ale może ujawnić serwisy, które dostarczą informacji o komputerze/sieci. Radą na podsłuchiwanie jest szyfrowanie transmisji, radą na modyfikowanie jest podpis cyfrowy lub zastosowanie odpowiedniej funkcji haszującej. Radą na skanowanie portów i niepowołany dostęp do usług TCP/IP jest zastosowanie specjalnego oprogramowania i/lub sprzętu (zapory sieciowej). Powszechnie przyjęte standardy bezpieczeństwa Publiczne i prywatne organizacje zdefiniowały szereg standardów, które pomagają administratorom i projektantom bezpiecznych sieci wybrać bezpieczne produkty i konfiguracje. Standardy te muszą być przestrzegane zwłaszcza w pewnych instytucjach, np. związanych z bezpieczeństwem państwa (wojsko, policja, wywiad itd.) Ewaluacja i certyfikacja Ewaluacja obejmuje ocenę konkretnego produktu programowego (np. wersji systemu operacyjnego) pod względem zapewnienia bezpieczeństwa, jeśli zostanie on prawidłowo zainstalowany i skonfigurowany. Może się zdarzyć, że system operacyjny, który posiada dobrą ewaluację został zaimplementowany i skonfigurowany w taki sposób, że np. sieć nie dostanie certyfikatu bezpieczeństwa. 3
Certyfikowanie polega na ocenie konkretnej implementacji systemów bezpieczeństwa, włączając w to sprzęt i konfigurację oprogramowania. Po zmianie konfiguracji systemu (sprzętu, oprogramowania) certyfikat może przestać być ważny. ICSA (http://www.icsa.net) prywatna organizacja, która dokonuje ewaluacji komercyjnych produktów związanych z bezpieczeństwem komputerowym. Poprzednia nazwa NCSA (National Computer Security Association). Ewaluacja ICSA dotyczy różnych rodzajów produktów, np.: Zapory sieciowe, Firewall (ściana ogniowa), Oprogramowanie Internet Security Protocol (IPSec) Oprogramowanie antywirusowe, Oprogramowanie związane z kryptografią. Aby utrzymać ocenę proces ewaluacji musi być powtarzany dla każdego produktu co roku (kryteria oceny zmieniają się wraz z wykrywaniem nowych zagrożeń). Standardy ewaluacji i certyfikacji systemów operacyjnych i instalacji sieciowych Starsze standardy: System C2 opracowany przez NCSC (National Computer Security Center) i NSA (National Security Agency) do użytku w USA. ITSEC odpowiednik europejski (Information Technology Security Evaluation Criteria). Nowy standard: CCITSE Common Criteria for Information Technology Security, znany w skrócie jako Common Criteria, wspólny europejsko amerykański. Zabezpieczenia związane z systemami operacyjnymi W kolejnych podrozdziałach zajmiemy się zabezpieczeniami dotyczącymi bezpośrednio sieci. Warto jednak krótko wymienić zagadnienia związane z zabezpieczeniami systemów operacyjnych. Zabezpieczenia te obejmują m.in. mechanizmy uwierzytelniania (autentykacji), politykę związaną z administrowaniem kontami, zabezpieczenia na poziomie systemów plikowych, zabezpieczanie dostępu do serwerów wydruku, administrowanie bazami danych o zasobach sieci takimi jak Active Directory (MS Windows) lub NDS (NetWare firmy Novell). 4
Szyfrowanie, podpis elektroniczny Tę część opisu należy traktować jako uproszczoną notatkę z wykładu. Szyfrowanie z kluczem symetrycznym Klucz jest pewną liczbą, która w zapisie binarnym składa się zwykle z kilkudziesięciu do kilku tysięcy bitów (czasem jeden klucz określany jest przez kilka liczb). To, co zostało zaszyfrowane przy użyciu pewnego klucza, może być odszyfrowane tylko przy pomocy tego samego klucza. Teoretycznie jest możliwe złamanie szyfru metodą brutalnej siły (tj. poprzez sprawdzenie wszystkich kombinacji), jednak wymaga dużych mocy obliczeniowych. Dla odpowiednio dużych kluczy i odpowiednio złożonych metod szyfrowania jest to praktycznie prawie niemożliwe. Są też inne sposoby łamania szyfrów, np. wykorzystujące analizy statystyczne i wiele innych, opierających się na niedoskonałościach samego algorytmu albo jego implementacji. Przykładowe długości kluczy: 64, 128, 256. Nie tylko długość klucza ma znaczenie liczy się również sam algorytm szyfrowania. Przykłady algorytmów z kluczem symetrycznym: DES (Data Encryption Standard), 3DES, RC4 (szyfr strumieniowy wykorzystywany w szyfrowaniu ramek w sieciach bezprzewodowych WiFi 802.11 WEP oraz WPA). W tej chwili zalecany standard to AES (Advanced Encryption Standard, szyfr blokowy, wykorzystywany np. w WPA2). Uwaga. Szyfrowanie dużych porcji danych przy użyciu jednego klucza ułatwia złamanie szyfru. Dlatego klucz symetryczny powinien być zmieniany (być może wielokrotnie) w przypadku przesyłania jednego dużego pliku. Zmiana klucza wymaga ustalenia jakiegoś bezpiecznego kanału przekazania klucza. Zatem podstawowym problemem związanym z użyciem klucza symetrycznego jest jego uzgodnienie. Nie można go wysłać w wersji niezaszyfrowanej przez sieć, bo mógłby go ktoś przechwycić. Ale jak go zaszyfrować, skoro klucz nie został uzgodniony? Można wprawdzie przekazać klucz np. na dysku zewnętrznym, pendrive, albo nawet przedyktować przez telefon czy przesłać faksem, ale jest lepsza metoda. Klucz może być przesłany zaszyfrowany przy pomocy techniki szyfrowania z kluczem publicznym i prywatnym. Można też generować oddzielne klucze sesji i szyfrować je wcześniej uzgodnionym (np. za pomocą szyfrowania asymetrycznego lub innego bezpiecznego kanału) tajnym kluczem symetrycznym. Klucze symetryczne mogą być też zmieniane co określony czas lub co określoną liczbę bajtów, z użyciem specjalnych protokołów. Szyfrowanie z kluczem asymetrycznym Szyfrowanie i odszyfrowanie jest tu realizowane przy pomocy pary kluczy. Jeden z nich, zwany kluczem prywatnym jest tajny i przechowywany tylko w jednym miejscu (plus ewentualne kopie zapasowe w plikach przechowywanych w bezpiecznym miejscu) i 5
powinien być tajny. Drugi zwany kluczem publicznym może być powszechnie znany. Jeśli coś zostanie zaszyfrowane przy pomocy klucza prywatnego, to może być odszyfrowane tylko przy pomocy odpowiadającego mu klucza publicznego. Podobnie jeśli coś zostanie zaszyfrowane przy pomocy klucza publicznego, to może być odszyfrowane tylko przy pomocy odpowiadającego mu klucza prywatnego. Jednak odgadnięcie klucza prywatnego, jeśli znany jest publiczny jest praktycznie niemożliwe w sensownym czasie (przy użyciu współczesnych komputerów). Skąd wziąć parę kluczy? Zajmiemy się tym w punkcie Klucze publiczne i prywatne. Na razie przyjmijmy, że każdy może wygenerować w pewien sposób parę: klucz publiczny i odpowiadający mu klucz prywatny. Jeśli zatem chcemy coś (dane, plik) przekazać innej osobie w wersji zaszyfrowanej, to powinniśmy zaszyfrować to kluczem publicznym tej osoby. Ponieważ nikt poza tą osobą nie zna odpowiadającego klucza prywatnego, nikt przesyłki nie odszyfruje (przynajmniej przy użyciu współczesnych komputerów). Szyfrowanie z kluczem publicznym i prywatnym jest jednak wielokrotnie kosztowniejsze czasowo od szyfrowania z kluczem symetrycznym (przy zachowaniu podobnego stopnia odporności na złamanie szyfru). Stosowane są algorytmy np. RSA (Rivest, Shamin, Adelman), Diffie- Hellman. M.in. ze względu na duży koszt czasowy algorytmów z kluczem publicznym są one często stosowane do wymiany (uzgodnienia) kluczy symetrycznych. Przy transmisji dużych porcji danych między komputerami klucze symetryczne powinny być zmieniane (uzgadniane) co pewien czas. Skrót (hash) Szyfrowanie dużych porcji danych może być kosztowne i czasem niepożądane. W podpisach cyfrowych (patrz niżej) tworzy się tzw. skrót wiadomości (danych) za pomocą funkcji haszującej (hash function). Skrót (hash, digest) jest zazwyczaj 128 (MD5) lub 160 bitowy (SHA- 1). Powszechnie używane algorytmy haszujące to: SHA- 1 (Secure Hash Algorithm), MD5 (obecnie już nie polecany). Cechą charakterystyczną funkcji haszującej jest to, że jeśli w oryginalnej wiadomości (pliku) zmieniony zostanie chociaż jeden bit, to skrót będzie zupełnie inny niż ten, który został utworzony przed zmianą. Algorytmy haszujące są deterministyczne, tzn. dla niezmieniającej się wiadomości (pliku) za każdym razem zostanie utworzony identyczny skrót. Jednak na podstawie skrótu odtworzenie oryginalnej wiadomości (pliku) jest prawie niemożliwe (z wyjątkiem pewnych specjalnych, nietypowych przypadków). Podpis cyfrowy Zaszyfrowanie kluczem prywatnym daje gwarancję (a właściwie bardzo duże prawdopodobieństwo, graniczące z pewnością ), że zaszyfrowana wiadomość pochodzi z odpowiedniego źródła (o ile rzeczywiście znamy jego prawdziwy klucz publiczny a klucz prywatny nie został skradziony). 6
Samej podpisywanej wiadomości (danych) nie musi się szyfrować. Generowany jest jej skrót (z użyciem funkcji haszującej) i ten skrót szyfrowany jest z wykorzystaniem klucza prywatnego osoby podpisującej. Zaszyfrowany skrót stanowi podpis cyfrowy. Niezaszyfrowana wiadomość może być przesłana jawnie razem z zaszyfrowanym skrótem (czyli podpisem cyfrowym). Odbiorca wykonuje dwie czynności. Po pierwsze odszyfrowuje skrót używając klucza publicznego nadawcy (klucz ten jest powszechnie znany, a w każdym razie dostępny). Po drugie, odbiorca tworzy skrót wiadomości używając tej samej funkcji haszującej. Jeśli wyniki obu operacji są identyczne, to znaczy, że wiadomość na pewno ( prawie na pewno ) podpisał określony nadawca (bo prawidłowy skrót dało się odszyfrować za pomocą klucza publicznego nadawcy), a ponadto nikt po tej wiadomości nie zmienił już po podpisaniu (gdyż w takim wypadku jej skrót utworzony przez odbiorcę byłby zupełnie inny niż ten przesłany w wersji zaszyfrowanej przez nadawcę). Oczywiście po podpisaniu dodatkowo możemy wiadomość (plik) zaszyfrować, ale to nie należy już do samego podpisu. Jeśli wiadomość (plik, przesyłane dane) jest duża, to najlepiej szyfrować go okresowo zmienianym kluczem symetrycznym, przy czym samo uzgodnienie kluczy jest realizowane przy pomocy szyfrowania z kluczem publicznym i prywatnym. Klucze publiczne i prywatne, infrastruktura kluczy publicznych (Public Key Infrastructure - PKI) Skąd można wziąć klucz prywatny i publiczny? Klucze mogą być generowane na komputerze lokalnym przy pomocy odpowiedniego oprogramowania i powinny być podpisane przez jakieś centrum certyfikacyjne. Centrum certyfikacyjne (inaczej: urząd certyfikacji, ang. CA Certification Authority) wydaje tzw. certyfikaty cyfrowe. Certyfikat zawiera m.in.: Identyfikator osoby/firmy/obiektu Identyfikator Centrum certyfikacyjnego (CA), który wydał certyfikat Numer identyfikacyjny certyfikatu Cel stosowania (np. podpisywanie bezpiecznych stron WWW albo podpisywanie listów elektronicznych) Wartość klucza publicznego Okres ważności Podpis cyfrowy wydawcy (CA) Jest kilka standardów certyfikatów: X.509 (główny standard), PGP, GPG (system darmowy). Jeśli ufamy danemu wydawcy (CA), to ufamy, że zawarty w certyfikacie klucz publiczny (np. pewnej osoby, serwera WWW lub adresu pocztowego) jest rzeczywiście prawdziwy. W systemach operacyjnych oraz różnych programach (np. przeglądarkach internetowych) jest wpisana lista zaufanych tzw. głównych urzędów certyfikacji oraz lista pośrednich urzędów certyfikacji, których certyfikaty są podpisane przez główne urzędy. Poprzez panel sterowania (w opcjach internetowych) można przeglądać i zarządzać listą zaufanych wydawców i dodawać do tej listy certyfikaty swoich zaufanych urzędów certyfikacji. 7
W systemie Microsoft Windows w wersji serwerowej wbudowane są mechanizmy tworzenia własnych centrów certyfikacji. Mechanizmy te należy dodatkowo zainstalować jako składnik systemu operacyjnego. Do takiego centrum certyfikacji można się odwołać poprzez stronę WWW o odpowiednim adresie (np. http://nazwa_lub_adres_komputera/certsrv). Poprzez tę stronę można zażądać wydania certyfikatu, przy czym można uzyskać certyfikaty, które będą potem wykorzystywane w różnych celach, np. w protokole IPSec, w poczcie elektronicznej itp. Zarządzanie centrum certyfikacyjnym jest realizowane na serwerze przez konsolę MMC z dodatkiem (snap- in) do tego przeznaczonym. Podobnie zarządzanie certyfikatami na komputerze lokalnym jest realizowane przez konsolę MMC. Można budować całą hierarchię centrów certyfikujących, z których jeden jest korzeniem drzewa hierarchii i podpisuje cyfrowo certyfikaty centrów z bezpośrednio niższego poziomu hierarchii, te centra z kolei mogą podpisywać cyfrowo centra niższego poziomu itd. W ten sposób można zbudować w dużej firmie sprawną infrastrukturę kluczy publicznych (PKI Public Key Infrastructure). Darmowy certyfikat w wersji trial (działa 21 dni) do użycia na serwerze WWW (SSL, opisany poniżej): www.thawte.com. Pod tym adresem można znaleźć również ciekawe informacje na temat wykorzystania certyfikatów i protokołu SSL (opisany niżej). Do niedawna na stronie wydawano też darmowe certyfikaty do poczty elektronicznej. Darmowe certyfikaty tzw. klasy 1 (potwierdzane tylko pocztą) na adresy pocztowe (i nie tylko) są wydawane tu: https://www.startssl.com. System PGP Popularnym niezależnym systemem umożliwiającym tworzenie kluczy i rejestrowanie certyfikatów był PGP (Pretty Good Privacy). Powstał standard Open PGP. Kiedyś system ten był darmowy, jednak od pewnego czasu już taki nie jest. Ostatnio PGP stał się własnością firmy Symantec (2010). Darmowe wersje GNU Privacy Guard GPG: http://www.gnupg.org/. Bezpieczne protokoły: IPSec, SSL, TLS Bezpieczne protokoły powinny zapewniać: Poufność przesyłanych danych (osoby niepowołane nie powinny móc odczytać danych). Autentyczność (dane pochodzą rzeczywiście od określonego źródła). Integralność (nikt danych nie zmienił). Bezpieczne protokoły mogą być wykorzystywane w warstwie aplikacji (szyfrowanie komunikatów HTTPS, protokoły SSL, TLS), między warstwą sieci a transportu (szyfrowanie pakietów IP protokół IPSec), w warstwie łącza danych (szyfrowanie ramek, np. WEP, WPA, WPA2 w sieciahc bezprzewodowych). 8
Protokoły szyfrujące przesyłane dane SSL (warstwa aplikacji) Używany do zabezpieczania innych protokołów, wykorzystuje połączenie szyfrowania asymetrycznego z kluczem publicznym i symetrycznego. Często wykorzystywany z HTTP w sieci WWW (HTTPS). TLS (warstwa aplikacji) Podobny do SSL. SMB - Server Message Block Signing, znany też jako Common Internet File System CIFS) do transferu plików, umieszcza cyfrowe podpisy w każdym bloku danych. S/MIME Secure Multpurpose Internet Mail Extensions szyfruje i umieszcza podpisy cyfrowe w wiadomościach pocztowych e- mail. Jest rozszerzeniem MIME, standardu włączania danych binarnych do listów elektronicznych. IPSec (warstwa IP) Protokół IPSec Dodatkowe wyjaśnienia znajdują się w pliku opisującym IPSec (plik w j. angielskim, dołączony do wykładu). IPSec (IP Security) działa w warstwie IP, może szyfrować dane pochodzące z dowolnej aplikacji, proces szyfrowania i deszyfrowania jest niewidoczny dla użytkownika. IPSec jest w zasadzie frameworkiem, umożliwiającym wykorzystanie pewnych protokołów i metod według określonych zasad. Głównymi częściami IPSec są dwa protokoły: AH (Authentication Headers) oraz ESP (Encapsulating Security Payloads). Cechy IPSec: Autentyczność i integralność danych. AH umożliwia sprawdzenie autentyczności komputerów (nie użytkowników) uczestniczących w transmisji, umożliwia też sprawdzenie integralności danych. Nagłówek IP oraz dane są zabezpieczone przed modyfikacją. Szyfrowanie danych. ESP zapewnia szyfrowanie danych oraz autentyczność i integralność danych. ESP może być używany samodzielnie lub z AH. Przed przesyłaniem danych strony komunikujące się uzgadniają szczegóły takie jak sposób uwierzytelniania, wymiana kluczy, algorytmy szyfrowania. Polityki stosowania IPSec w systemach Microsoft Windows ustala się politykę (zasadę, policy) kiedy IPSec ma być automatycznie zastosowany. W wersji Windows XP były trzy predefiniowane polityki: Client (respond only) - transmisje bez IPSec, chyba że druga strona zażąda IPSec 9
Server (request security) - żądanie transmisji IPSec, ale jeśli druga strona nie implementuje IPSec, to komunikacja bez IPSec Secure server (require security) - żądanie transmisji IPSec, jeśli druga strona nie implementuje IPSec, to komunikacja nie jest kontynuowana. W kolejnych (po XP) systemach Microsoft Windows nie ma polityk predefiniowanych. Można ustalić swoje polityki stosowania IPSec. W danej chwili może być włączona tylko jedna polityka. Tryby działania IPSec (zarówno AH jak i ESP): Tryb transportu (w sieci lokalnej) między dwoma punktami końcowymi transmisji. Tryb tunelowania szyfrowanie w niezabezpieczonej części sieci (np. dane między biurami przesyłane przez Internet). Metody uwierzytelniania w IPSec: Kerberos, Oparty o certyfikaty cyfrowe, Klucz dzielony (przechowywany we właściwościach napis jednakowy dla obu komunikujących się stron). Filtry IPSec Filtr IPSec pozwala na automatyczne przepuszczenie datagramów IP, blokowanie lub użycie negocjacji (i w konsekwencji użycie IPSec) w zależności od źródła i miejsca docelowego IP, protokołu transportowego, portów źródłowych i docelowych. IPSec w systemach Linux Darmowe rozwiązanie IPSec dostępne w systemach Linux to FreeS/WAN (www.freeswan.org). SSL (Secure Socket Layer) SSL to protokół, którego zadaniem jest zabezpieczanie informacji przesyłanych siecią. Jest wykorzystywany przy przesyłaniu np. danych osobistych, numerów kart kredytowych. W modelu warstwowym TCP/IP SSL jest często prezentowany jako protokół, który leży powyżej warstwy transportu (TCP, UDP) i sieci (IP) a poniżej warstwy aplikacji (np. HTTP, FTP, SMTP, TELNET). W modelu ISO OSI jest przypisany do warstwy prezentacji (zatem do warstwy aplikacji w modelu TCP/IP). 10
Warstwa aplikacji Warstwa SSL Program Program Program Program SSL SSL SSL SSL Warstwa transportowa TCP UDP Warstwa sieci ICMP IP SSL został zaprojektowany przez firmę Netscape, jednak jest protokołem otwartym (nie należącym do żadnej firmy). Podstawowe cechy protokołu SSL: Zapewnia autoryzację serwerów internetowych i (opcjonalnie) klientów (utrudnia podszywanie pod autoryzowanych usługodawców i użytkowników) Zapewnia szyfrowanie - poufność przesyłanych informacji. Stosuje sumy kontrolne dla zapewnienia integralności danych. SSL wykorzystuje szyfrowanie symetryczne oraz z kluczem publicznym. Po nawiązaniu połączenia następuje wymiana informacji uwierzytelniających serwera i (opcjonalnie) klienta. Informacje te to certyfikaty wystawiane przez niezależne CA (Certification Authorities). Certyfikaty poza informacjami o charakterze ogólnym zawierają klucze publiczne ich właścicieli. Serwer i klient uzgadniają również algorytmy szyfrowania najsilniejsze dostępne jednocześnie obu stronom. Następnie serwer i klient generują klucze sesji (symetryczne), które są szyfrowane kluczem publicznym drugiej strony. Klucze sesji są odszyfrowywane przy pomocy klucza prywatnego i następnie służą do szyfrowania danych. Protokoły zabezpieczone SSL oznaczane są jako HTTPS (dla HTTP), FTPS (dla FTP) itd. Strony WWW pobierane z serwera oznaczane są https://. Numery portów przy włączeniu SSL: Protokół Port standardowy Port SSL HTTP 80 443 IMAP4 143 993 POP3 110 995 11