IPSec jest perspektywicznym kierunkiem zabezpieczeń sieci. Zapewnia mocną ochronę przeciwko atakom w sieci prywatnej i Internecie, z zachowaniem prostoty użycia.
IPSec ma dwa cele:
• Chronić pakiety IP.
• Chronić przed atakami sieciowymi.
Oba cele osiągalne są przez zastosowanie usług zabezpieczających bazujących na:
• kryptografii
• protokołach zabezpieczeń
• dynamicznym zarządzaniu kluczami.
Elementy te zapewniają zarówno wytrzymałość jak i elastyczność zabezpieczenia połączeń między komputerami sieci prywatnych, domenami, witrynami, witrynami zdalnymi, ekstranetami i klientami telefonicznymi. Pozwalają one nawet na blokowanie odbioru lub transmisji konkretnych typów danych.
IPSec bazuje na modelu zabezpieczeń „od końca do końca”, co oznacza, że jedyne komputery, które muszą wiedzieć o ochronie zabezpieczeń IPSec, to nadawca i odbiorca, przy założeniu, że medium transmisyjne, przez które odbywa się komunikacja, nie jest bezpieczne. Komputery przesyłające dalej dane ze źródła do miejsca docelowego, nie muszą obsługiwać IPSec. Model ten pozwala zastosować IPSec dla następujących istniejących scenariuszy sieci:
• Sieć lokalna (LAN, Local Area Network): klient/serwer, komunikacja komputerów równoprawnych
• Sieć rozległa (WAN, Wide Area Network): komunikacja między routerami i między bramami.
• Dostęp zdalny: klient mobilny, dostęp do Internetu z sieci prywatnych.
Ataki sieciowe często mogą być przyczyną niestabilnej pracy systemu, zmniejszenia efektywności i ujawnienia poufnych danych, zapewnienie odpowiedniego bezpieczeństwa danych przed ingerencją osób nieupoważnionych jest kwestią o wysokim priorytecie.
Strategie ochrony sieci zazwyczaj opierają się na zabezpieczeniach granicznych, uniemożliwieniu ataków z zewnątrz sieci prywatnej przez użycie tzw. Fire Wall - zapór ogniowych, na bramach sieciowych i uwierzytelnianiu użytkownikom dostępu telefonicznego. Nie zapewnia to jednak wystarczającej ochrony przed atakami wewnętrznymi.
Skupienie się tylko na zabezpieczeniach związanych z kontrolą dostępu przy użyciu na przykład kart inteligentnych i protokółu Kerberos nie gwarantuje kompleksowej ochrony, ponieważ metody te bazują na nazwach użytkowników i hasłach. Wiele komputerów jest używanych przez kilku użytkowników, co jest przyczyną faktu, że komputery te nie są odpowiednio zabezpieczone ze względu na częste pozostawianie ich w stanie zalogowania. Dodatkowo, jeśli nazwa użytkownika i hasło wejdą w posiadanie osoby do tego nieupoważnionej, zabezpieczenia oparte na samej kontroli dostępu nie będą wystarczającymi i nie będą w stanie zapobiec nielegalnemu dostępowi do zasobów sieci.
Taktyki ochrony na poziomie fizycznym, które nie znalazły powszechnego zastosowania, stanowią ochronę fizycznego okablowania sieci i punktów dostępu. Jest jednak mało prawdopodobne, aby mogło to zagwarantować ochronę na odpowiednim poziomie dla całej ścieżki sieciowej, po której dane muszą wędrować między źródłem a miejscem docelowym.
Najwyższy poziom zabezpieczeń zapewnia model „od końca do końca” realizowany przy wykorzystaniu IPSec: komputer źródłowy zabezpiecza każdy pakiet danych przed rozpoczęciem transmisji - zanim pakiet trafi do medium transmisyjnego - a komputer docelowy usuwa zabezpieczenia danych tylko po ich odebraniu i zweryfikowaniu. IPSec stanowi dobrą ochronę prywatnych danych w sieciach publicznych, dając mocną, opartą na kryptografii obronę przed zagrożeniem. Przesyłane dane są zabezpieczone pakiet po pakiecie, zamiast całej komunikacji łącznie. Używany w połączeniu z kontrolowaniem dostępu użytkownika, ochroną graniczną i zabezpieczeniami na poziomie fizycznym, IPSec zapewnia kompleksową ochronę przesyłanych danych.
Protokół zabezpieczeń IPSec stwarza bardzo dobre zabezpieczenie danych, takie, że bardzo trudne lub wręcz niemożliwe jest odebranie niesionej przez dane informacji przez osobę nieupoważnioną. Poziom ochrony zależy od poziomu zabezpieczeń określonego w strukturze założeń IPSec.
Protokół zabezpieczeń IPSec w dużym stopniu zapobiega atakom sieciowym opisanym wcześniej:
• Sniffery, brak prywatności. Protokół ESP (Encapsulating Security Payload) pozwala chronić poufność danych przez szyfrowanie pakietów IP.
• Modyfikacja danych. IPSec posługuje się kluczami opartymi na kryptografii, udostępnianymi tylko komputerom nadawcy i odbiorcy, które pozwalają utworzyć cyfrową sumę kontrolną każdego pakietu IP. Jakakolwiek modyfikacja danych pakietu spowoduje zmianę wartości sumy kontrolnej, co umożliwia wykrycie niepożądanej działalności przez komputer odbierający, że pakiet został zmodyfikowany w czasie transmisji.
• Identity spoofing, oparte na hasłach, z warstwy aplikacji i „denial of service”. IPSec umożliwia wymianę i weryfikację informacji o tożsamości, bez ujawnienia tej informacji osobie nieupoważnionej. Wzajemna weryfikacja (autoryzowanie) używana jest do ustanowienia relacji zaufania między komunikującymi się systemami. Tylko zaufane systemy mogą komunikować się.
• Man-in-the-middle. IPSec łączy wzajemne autoryzowanie z udostępnianymi kluczami opartymi na kryptografii.
• Denial-of-service. IPSec używa metodologii filtrowania pakietów IP jako podstawy określania czy połączenie jest możliwe, zabezpieczone czy zablokowane, w oparciu o zakresy adresów IP, protokoły lub nawet konkretne porty protokołów.
Zazwyczaj wykorzystanie zabezpieczeń na poziomie, jaki zapewnia IPSec, wymusza mniejsze lub większe zmiany systemu. Tymczasem implementacja strategiczna IPSec na poziomie transportowym IP – trzecia warstwa sieci, pozwala na uzyskanie bardzo wysokiego poziomu zabezpieczeń w sposób niewidoczny dla większości aplikacji, usług i protokołów wyższych warstw, przy niewielkim nakładzie: wdrożenie IPSec nie wymaga wprowadzania zmian do istniejących aplikacji i systemach operacyjnych, a założenia mogą być określane centralnie w Active Directory™ lub zarządzane lokalnie na komputerze.
Implementacja zabezpieczeń w trzeciej warstwie sieciowej stwarza ochronę protokołowi IP i wszystkim protokołom z warstw wyższych pakietu TCP/IP, takim jak TCP, UDP, ICMP, Raw oraz innym protokołom wysyłającym dane przy użyciu IP Główną zaletą zabezpieczania informacji na niskim poziomie jest możliwość używania aplikacji i usług korzystających z IP, bez potrzeby dokonywania zmian tych aplikacji lub usług.
Inne mechanizmy zabezpieczeń, działające powyżej warstwy 3, jak Secure Sockets Layer (SSL), zapewniają ochronę tylko tym aplikacjom, które są w stanie z nich skorzystać. Ochrona wszystkich aplikacji za pomocą SSL wymagałaby modyfikacji każdego programu. Mechanizmy zabezpieczeń stosowane w warstwach niższych niż trzecia, przykładowo szyfrowanie w warstwie połączenia, zapewniają ochronę jedynie konkretnemu połączeniu, a nie wszystkim połączeniom wzdłuż ścieżki danych. Uniemozliwia to szyfrowanie w warstwie połączenia dla internetowych połączeń typu „od końca do końca”.
Pomimo faktu, że mocne metody zabezpieczeń, które są oparte na szyfrowaniu, stały się koniecznością, mogą znacznie zwiększyć obciążenie administracyjne. IPSec pozwala uniknąć tej niedogodności, dzięki zarządzaniu opartemu na zasadach.
W miejsce interfejsów aplikacji (API) lub funkcji systemów operacyjnych, do konfiguracji protokołu zabezpieczeń IPSec wykorzystywane są Zasady. Zasady te tworzą różne poziomy bezpieczeństwa dla większości typów ruchu danych, w większości istniejących sieci.
IPSec jest wyposażony w kontrolę dostępu, pozwala administratorowi na sprecyzowanie konkretnych filtrów i ich akcji dla danej zasady IPSec. Dostępne są dwa typy kontroli dostępu: prosta filtracja pakietów IP i pomyślna autoryzacja. Ponadto akcje „zezwól” i „zablokuj” pozwalają na kontrolowanie typów pakietów IP wysyłanych lub odbieranych przez komputer lub adresów, z jakimi komputer może się komunikować.
Administratorzy zabezpieczeń sieci mają możliwość konfiguracji różnych zasad zabezpieczeń IPSec - od zasad dostosowanych do pojedynczego komputera do zasad dla całej domeny, witryny lub jednostki organizacyjnej usługi Active Directory.
Dzięki opartym na kryptografii mechanizmom IPSec umożliwia uzyskanie wysoki poziom bezpieczeństwa. Kryptografia pozwala na wymianę informacji w sposób bezpieczny i zaszyfrowany.
Do zabezpieczania informacji używane jest połączenie algorytmu i klucza:
• Algorytm to „przepis” postępowania pozwalająca zabezpieczyć informację.
• Klucz to tajny ciąg znaków lub liczba, wymagana do uzyskania dostępu do zabezpieczonych danych.
Poświadcza, że nadawca wiadomości jest dokładnie tą osobą, która mogła wysłać wiadomość. Nadawca nie może zaprzeczyć, że to nie on jest nadawcą wiadomości. Przekonanie co do nadawcy jest właściwością komunikatu zawierającego podpis cyfrowy, przy użyciu technologii kluczy publicznych. Przy zastosowaniu technologii kluczy publicznych do utworzenia cyfrowego podpisu w wysyłanej wiadomości stosowany jest indywidualny klucz nadawcy. W celu weryfikacji podpisu odbiorca korzysta z publicznego klucza nadawcy. Tylko nadawca posiada dostęp do jego klucza prywatnego, tylko on może być autorem wiadomości. Nie można mieć pewności co do nadawcy w przypadku kodów uwierzytelniających i funkcji mieszania, korzystających z technologii kluczy tajnych, ponieważ zarówno nadawca jak i odbiorca wykorzystują klucz tajny.
Zapewnia niepowtarzalność każdego pakietu IP. Wiadomości przechwycone przez osobę niepowołaną nie mogą zostać ponownie użyte lub spreparowane w celu nielegalnego ustanowienia sesji lub pozyskania informacji.
Integralność chroni dane przed nieautoryzowanymi modyfikacjami podczas przesyłania, zapewniając, że otrzymane przez odbiorcę informacje są dokładnie takie same, jak informacje, które zostały nadane. Do unikalnego oznaczenia lub „podpisania” każdego pakietu kryptograficzną sumą kontrolną, używane są tzw. funkcje mieszania. Odbiorca przed otwarciem pakietu weryfikuje podpis. Klucze wykorzystywane do obliczenia sumy kontrolnej są znane jedynie nadawcy i odbiorcy. Jeśli pakiet (a więc i podpis) został zmodyfikowany, pakiet jest odrzucany.
Poufność zapewnia, że dane mogą zostać odczytane tylko przez upoważnionych do tego adresatów. Dane pakietu są szyfrowane przed rozpoczęciem transmisji, co sprawia, że nie mogą one zostać odczytane podczas jej nadawania, nawet jeśli pakiet jest monitorowany lub zostanie przechwycony przez osobę nieupoważnioną. Tylko komputer ze współużytkowanym, poufnym kluczem jest w stanie poprawnie odczytać treść lub zmodyfikować dane po ich wcześniejszym rozszyfrowaniu. Powyższa własność jest opcjonalna i zależy od ustawień zasad IPSec.
Potwierdza autentyczność wiadomości dzięki procedurze, w której jedna z komunikujących się stron wysyła list uwierzytelniający, a druga sprawdza jego autentyczność.
Wiele z problemów bezpieczeństwa rozwiązuje dobrze zaimplementowana infrastruktura kluczy publicznych. Listy uwierzytelniające mogą być wykorzystywane bez ujawniania ich w czasie tego procesu. IPSec korzysta z infrastruktury kluczy publicznych, celu zapewnienia uwierzytelniania opartego na certyfikatach.
Certyfikat z kluczem publicznym (PKC, Public Key Certificate) przekonuje, że nie ma znaczenia to, za kogo dana osoba się podaje, a tym kim jest w rzeczywistości. PKC jest metodą uwierzytelniania, która to gwarantuje.
Do uwierzytelniania IPSec mogą być też wykorzystane klucze wstępne. Oznacza to, że komunikujące się strony muszą ustalić wspólny klucz, który będzie częścią zasady IPSec. Podczas negocjacji zabezpieczeń informacja jest szyfrowana przed rozpoczęciem transmisji, z użyciem udostępnianego klucza, i rozszyfrowana po odebraniu, za pomocą tego samego klucza. Jeśli odbiorca jest w stanie rozszyfrować informację, to poświadcza to o uwierzytelnieniu tożsamości nadawcy..
Firma Microsoft nie poleca częstego korzystania z uwierzytelniania z kluczem wstępnym, ponieważ klucz ten przechowywany jest w zasadzie IPSec bez żadnych zabezpieczeń. Metodologia kluczy wstępnych obsługiwana jest tylko w celu kompatybilności i w celu utrzymania zgodności ze standardami IPSec, ustanowionymi wcześniej przez IETF. Aby ta metoda uwierzytelniania mogła być używana bezpiecznie, zasada musi mieć dostęp ograniczony wyłącznie do administratora z dostępem odczytu/zapisu, a komunikacja kontrolera domeny z użytkownikami domen musi być zaszyfrowana i ograniczona tylko do odczytu przez system na każdym komputerze.
IPSec jest wyposażony w metody autoryzacji z użyciem kryptografii z kluczem publicznym (podpisywanie certyfikatów) i wymiany klucza (algorytm Diffie-Hellman). Kryptografia z wykorzystaniem kluczy publicznych daje identyczne możliwości jak z użyciem kluczy tajnych z tą różnicą, że jest bezpieczniejsza, ponieważ korzysta z dwóch kluczy – jednego do podpisywania i szyfrowania danych i drugiego do sprawdzania podpisu i rozszyfrowywania danych. Jest ona często określana kryptografią asymetryczną, co oznacza, że procedura korzysta z dwóch kluczy.
Każdy użytkownik posiada swój klucz prywatny, który znany tylko on sam, oraz dostępny dla wszystkich klucz publiczny. Przykładowo, jeśli użytkownik1 chce wysłać zabezpieczony komunikat do użytkownika2, to do jego zaszyfrowania używa klucza publicznego użytkownika2. Jedynym odbiorcą posiadającym możliwość rozszyfrowania tego komunikatu jest użytkownik2, ponieważ wymaga to podania jego klucza prywatnego. Pomimo faktu, że para kluczy jest ze sobą związana, to wygenerowanie jednego klucza przy pomocy drugiego nie jest w żaden sposób możliwe. Dlatego właśnie można udostępniać klucz publiczny. Klucz prywatny, zwany kluczem tajnym, musi być dobrze strzeżony.
Kody mieszania autoryzacji komunikatu - HMAC „podpisują” pakiety, aby zapewnić, że informacja odebrana jest dokładnie taka sama jak informacja nadana – zapewnienie integralności. Jest to bardzo istotne w sytuacji, gdzie dane są przesyłane przez niezabezpieczone media.
Kody HMAC zapewniają integralność za pomocą algorytmu mieszania, w połączeniu z udostępnianym, tajnym kluczem. Funkcje mieszania są czasem nazywane „transformacjami w jedną stronę”. Nazwa ta wynika z dwóch powodów: po pierwsze każda ze stron musi wykonać obliczenia na odpowiadającym jej końcu; po drugie łatwe jest przejście z komunikatu do skrótu ale niemożliwe jest przejście powrotne. Funkcje dwustronne mogą natomiast być modyfikowane w obie strony. Przykładem funkcji dwustronnych są schematy szyfrowania.
Podpis mieszania jest kryptograficzną sumą kontrolną lub Message Integrity Code (MIC), którą każda strona musi obliczyć w celu weryfikacji komunikatu. Przykładowo komputer wysyłający korzysta z algorytmu HMAC i klucza udostępnianego, w celu wyznaczenia sumy kontrolnej komunikatu, która jest dołączana do pakietu. Komputer odbiorcy musi wykonać obliczenia HMAC na otrzymanym komunikacie i wynik porównać z oryginałem zawartym w pakiecie. Jeśli komunikat został zmodyfikowany w trakcie transmisji, to wartości mieszane są inne i pakiet jest odrzucany.
Podczas wyboru zasady można wybrać jedną z dwóch funkcji mieszania:
• HMAC-MD5
Kod Message Digest 5 (MD5) oparty jest na RFC 1321. Powstał w odpowiedzi na znalezienie „słabego ogniwa” w MD4, poprzednim wcieleniu oryginalnego MD. MD5 jest nieznacznie wolniejszy, ale bezpieczniejszy.
MD5 wykonuje już cztery przejścia przez bloki danych (podczas gdy MD4 wykonywał trzy), używając innej liczby stałej dla każdego słowa przy każdym przejściu. Daje to sześćdziesiąt cztery, 32-bitowe stałe użyte podczas obliczeń MD5.
Ostatecznie, powstaje 128-bitowy klucz, używany do sprawdzania integralności.
• HMAC-SHA
Kod Secure Hash Algorithm (SHA) został opracowany w Stanach Zjednoczonych przez National Institute of Standards and Technology, jak to zostało opisane w FIPS PUB 180-1. Procedura SHA jest podobna do MD5.
SHA podczas obliczeń używa siedemdziesięciu dziewięciu, 32 -bitowych stałych, co daje 160-bitowy klucz używany do sprawdzania integralności. Dłuższe klucze zapewniają większe bezpieczeństwo, dlatego SHA uznawany jest za mocniejszy od MD5.
W pozostałej części tego rozdziału, podczas omawiania integralności udostępnianej przez funkcje mieszania, używane będą nazwy „podpis” lub „znak”, w celu zwiększenia przejrzystości i zwięzłości tekstu.
W celu zapewnienia poufności (szyfrowania danych), IPSec systemu Windows Data Encryption Standard (DES).
Algorytm DES
Algorytm DES został stworzony w roku 1977 przez American National Bureau of Standards. IPSec zapewnia możliwość ciągłego odtwarzania kluczy w trakcie połączenia. Zapobiega to ujawnieniu całości danych w przypadku złamania jednego z kluczy DES.
DES korzysta z klucza 56-bitowego i odwzorowuje 64-bitowy blok wejściowy na 64-bitowy blok wyjściowy. Klucz wydaje się być 64-bitowy, ale po jednym bicie każdego z 8 bajtów jest używane jako bit parzystości, co daje 56 bitów użytecznych.
Blok wejściowy przetwarzany jest etapowo, dając 64-bitowy blok wyjściowy. Każdy etap powoduje tworzenie różnych losowych wartości. Klucz ten używany jest do wygenerowania szesnastu, 48-bitowych kluczy na etap. Każdy z etapów na wejściu otrzymuje wynik (klucz) z etapu poprzedniego, oraz 48-bitowy klucz i tworzy następny klucz 56-bitowy. Po skończeniu etapu szesnastego, klucz jest przekształcony przekształceniem odwrotnym do przekształcenia poprzedniego.
Do schowania wzorów identycznych bloków wewnątrz pakietu używany jest Cipher Block Chaining (CBC). Przy pierwszym losowym bloku, do szyfrowania i odszyfrowywania danych wykorzystywany jest wektor początkowy. Do szyfrowania każdego bloku używane są różne bloki losowe, w połączeniu z kluczem tajnym. Metoda ta zapewnia, że takie same dane w postaci otwartego tekstu dadzą w efekcie niepowtarzalne bloki zaszyfrowane. Powtórzenia mogą ujawnić zabezpieczenie klucza, ujawniając wzór, dzięki któremu atakujący może złamać szyfr. Brak powtórzeń zapobiega także rozszerzaniu się danych podczas szyfrowania.
IPSec systemu Windows obsługuje:
• 3DES: bardzo bezpieczny i jednocześnie wolniejszy w użyciu. 3DES przetwarza każdy blok trzy razy, za każdym razem używając innego klucza:
1. Szyfrowanie bloku kluczem 1
2. Rozszyfrowywanie bloku kluczem 2
3. Szyfrowanie bloku kluczem 3
W przypadku odszyfrowywania pakietu procedura ta wykonywana jest w odwrotnej kolejności. IPSec systemu Windows w celu zapewnienia poufności używa 3DES.
• DES: używany, gdy nie jest wymagany wysoki poziom bezpieczeństwa.
Literaura:
Karanjit S. Siyan, Tim Parker, „TCP/IP Księga eksperta Wydanie II”, Wydawnictwo
Helion, grudzień 2002.
Marek Serafin, „Sieci VPN. Zdalna praca i bezpieczeństwo danych”, Wydawnictwo Helion,
luty 2008
strony Microsoftu
www.chip.pl/arts/archiwum/n/articlear_110541.html
Artykuł współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka, działania 8.1
| REKLAMA |
| REKLAMA |