28 marca

Budowa bezpiecznych sieci VPN – IPSec i MPLS

  • Home
  • /
  • Blog
  • /
  • Budowa bezpiecznych sieci VPN – IPSec i MPLS

We współczesnej praktyce korporacyjnej zapewnienie bezpieczeństwa informacji staje się zadaniem kluczowym.  Szczególnie palącym problem jest zapewnienie właściwej ochrony informacji wewnątrz organizacyjnych transmitowanych poprzez Internet.
Z pomocą przychodzi technologia Wirtualnych Sieci Prywatnych. 

Na przestrzeni lat termin Wirtualna Sieć Prywatna (VPN) nabrał bardzo szerokiego znaczenia. 
W różnych publikacjach znaleźć można całą gamę rozmaitych definicji rozpatrujących VPN z punktu widzenia różnych kontekstów użytkowych a tym samym przyporządkowujących wielorakie definicje, zbliżone do siebie co do meritum natomiast różniące w kwestii szczegółów, konstrukcji, zastosowania jak i implementacji. 

Najbardziej jednak, ogólnie podążając za VPNC „VPN Technology White Paper” VPN można zdefiniować jako sieć prywatną skonstruowaną w oparciu o ogólnie dostępną publiczną architekturę sieciową, zapewniającą prywatność poprzez wykorzystanie protokołów tunelujących oraz procedur bezpieczeństwa. 
Do najczęściej wykorzystywanych implementacji VPN można zaliczyć tzw. Site-to-Site VPN. 

Site-to-Site VPN w praktyce 

Site-to-Site VPN występuje w sytuacji kiedy sieć VPN realizowana jest aby połączyć ze sobą oddalone geograficznie lokalizacje np. oddziały firmy z siedzibą czy też siedzibę firmy z outsourcer-em centrum przetwarzania danych. Site-to-Site VPN najlepiej ilustruje Ilustracja 1. Widzimy, iż sieci Internal LAN w poszczególnych lokalizacjach podłączone są do sieci publicznej, którą w tym przypadku stanowi Internet.
Aby umożliwić bezpieczną wymianę danych pomiędzy lokalizacjami stworzony został między nimi tunel VPN, przez który następuje wymiana. Należy zauważyć, iż w przypadku Site-to-Site VPN stosunek poszczególnych członków sieci VPN można uznać za równorzędny, ustanowiony na tych samych prawach. 

Wyobraźmy sobie firmę która posiada główną siedzibę w jednym mieście oraz dwie placówki innych miastach. Do tej pory placówki działały niezależnie a dane z nich były przekazywane do centrali w odstępach tygodniowych w formie papierowej. Firma wdrożyła zintegrowany system zarządzania klasy CRM/ERP. Infrastruktura obsługująca system została umieszczona w centrali firmy. Zdecydowano, iż system będzie obejmował zarówno siedzibę jak i placówki zewnętrzne.  

Aby zrealizować powyższy projekt można zastosować dwa podejścia z czego jedno należy traktować jako czysto teoretyczne. Pierwsze rozwiązanie polegało by na umożliwieniu bezpośredniego dostępu wybranym lokalizacjom do serwerów bazodanowych oraz serwerów aplikacji znajdujących się w siedzibie firmy z sieci Internet. Użytkownicy systemu łączyliby się z wybranymi, dostępnymi dla nich zasobami poprzez globalny adres publiczny. Jedynym ograniczeniem byłby system firewall ograniczający dostęp do serwerów tylko z wybranych adresów IP. Dane transmitowane byłyby bez dodatkowych zabezpieczeń w postaci tekstu jawnego.  Alternatywnie można  zastosować  połączenie lokalizacji tunelami VPN. Lokalizacje wraz z siedzibą dzieliłyby,  ten sam schemat adresacji IP, logicznie tworzyły wspólna sieć Lan. Dane transmitowane w tunelu byłyby szyfrowane a dostęp do niego mieliby tylko upoważnieni użytkownicy.  Ponieważ bezpieczeństwo danych jest jedną z kluczowych wartości dl każdej firmy niedopuszczalnym jest, aby serwer baz danych i aplikacji systemów ERP były dostępne bezpośrednio z sieci Internet. Zatem jedynym w miarę prostym wyjściem jest zastosowanie wspomnianego Site-to-Site VPN. 

Zasadniczo w praktyce biznesowej do tworzenia ww. tuneli wykorzystuje się głównie protokół IPSec. Coraz bardziej popularny staje się również nie spełniający wszystkich przymiotów sieci VPN ale będący bardzo wysoce skalowalny i umożliwiający geograficzne rozproszenie warstwy II MPLS VPN. 

Internet Protocol Security 

IPSec jest najpopularniejszym w dzisiejszych czasach rozwiązaniem służącym do łączenia rozproszonych geograficznie lokalizacji. Jego popularność wynika przede wszystkim z skalowalności oraz mnogości możliwości konfiguracji i dostosowywania do własnych potrzeb. 

Ww. zalety są wynikiem jego szczególnej konstrukcji. IPSec nie jest bowiem monolitycznym protokołem obejmującym w przypadku sieci VPN zapewnienie takich funkcji jak integralność danych ich bezpieczeństwo oraz autentykację.  Jest natomiast swojego rodzaju szkieletem dla wielu protokołów za pomocą których można ww. funkcje realizować.  Przy tworzeniu sieci VPN w oparciu o IPSec wdrażajacy wybiera z pośród możliwych opcji  optymalny zestaw najlepiej spełniający jego oczekiwania. 
Główne protokoły wchodzące w skład IPSec to: 

  • Internet Key Exchange (IKE) 
  • Encapsulation Security Payload (ESP) 
  • Authentication Header (AH) 

IKE zajmuje się negocjowaniem i ustalaniem parametrów połączenia VPN tj. m.in. sposobu szyfrowania,  wymianą kluczy kryptograficznych oraz przeprowadzaniem procesu autentykacji stron. Natomiast ESP i AH są to substytucyjne protokoły służące do zapewnienia szyfrowania, oraz integralności przy czym starszy i obecnie nie rekomendowany AH zapewnię jedynie autentykacje i integralność. Zarówno w AH jaki i ESP integralność danych może być zapewniona poprzez wykorzystanie MD5 lub SHA. Do szyfrowania natomiast wykorzystywane mogą być powszechnie znane algorytmy kryptograficzne tj. DES, 3DES, AES, DH. Dodatkowo, w związku z faktem, iż IPSec opiera się na otwartych standardach każdy z powyższych może zostać zastąpiony przez dowolny opracowany algorytm. Istotne tylko aby obie strony realizujące połączenie były wstanie wprowadzony algorytm obsłużyć. Ze względów bezpieczeństwa oraz dla uproszczenia implementacji i administracji takie rozwiązania są jednak w praktyce korporacyjnej wykorzystywane niezmiernie rzadko. Zdarza się natomiast, iż mają zastosowanie w dedykowanych projektach cechujących się wyjątkowo dużą skalą i istotnością danych tj. m.in. projekty związane z obronnością. 

IPSec może działać w dwóch trybach tj. transportowym i tunelowym. W trybie transportowym adresy IP źródłowy oraz docelowy nie zostają schowane wewnątrz nagłówka IPSec. W przypadku natomiast trybu tunelowego oryginalne źródłowe i docelowe adresy IP zostają schowane i zaszyfrowane wewnątrz nagłówka IPSec natomiast poza nim dodawane są nowe adresy IP reprezentujące adresy zewnętrzne urządzeń, które terminują połączenie. W zdecydowanej większości przypadków wykorzystywany jest tryb tunelowy. Ukrycie adresów komunikujących się hostów i zamiana ich na zewnętrzne adresy bramek VPN jest bowiem niezbędne do zapewnienia transportu pakietów poprzez sieć publiczną. Tryb transportowy ma zastosowanie głównie w przypadku potrzeby zestawienia bezpiecznego szyfrowanego połączenia pomiędzy hostami znajdującymi się w sieci wewnętrznej. W ostatnim czasie ze względów bezpieczeństwa takie rozwiązanie jest coraz częściej stosowane jednakże nadal jest to margines w stosunku do ilości rozwiązań wykorzystujących tryb tunelowy. 

IKE jak już zostało wspomniane odpowiada za negocjacje parametrów połączenia. Zasadniczo składa się z dwóch faz po zakończeniu których następuje przejście do realizacji transmisji z wykorzystaniem AH lub ESP. 

KształtPodczas konfigurowania połączenia IPSec ustalane są polityki zawierające w sobie wybrane konfiguracje właściwych parametrów. Oznacza to, iż przykładowa polityka nazwijmy ją Polityka 1  może wyglądać następująco: 

 Polityka 1 

  • algorytm kryptograficzny – AES 
  • funkcja skrótu – SHA-1 
  • sposób dwustronnej autentykacji – współdzielony klucz 
  • algorytm wymiany kluczy – Diffie Hellman z 512 bitowym kluczem 
  • długość życia tunelu – 60 min 

Zwykle istnieje możliwość stworzenia wielu polityk różniących się wybranymi parametrami. Podczas nawiązywania połączenia host inicjujący wysyła drugiej stronie wszystkie skonfigurowane polityki. Host odbierający sprawdza parametry zawarte w politykach  i odsyła informacje, która z polityk jest przez niego akceptowana. 
 
Istotnym jest fakt, iż hosty muszą zgodzić się co do całości polityki, nie ma więc możliwości nawiązania połączenia z wykorzystaniem części ustawień zawartych w jednej polityce a części w drugiej. Po zakończonej sukcesem negocjacji podstawowych parametrów rozpoczyna się  faza dwustronnej autentykacji stron. Wykorzystywane są tu głównie współdzielony klucz lub certyfikaty. W przypadku wykorzystania klucza współdzielonego hosty wymieniają się skrótami ustalonego wcześniej klucza sporządzonymi funkcją skrótu wynegocjowaną wcześniej. Jeżeli otrzymany od drugiej strony skrót jest tożsamy z posiadanym autentykacja kończy się sukcesem.  Po udanej autentykacji strony za pomocą ustalonej w polityce odmiany asymetrycznego algorytmu Diffie’go Hellmana wymieniają klucz dla ustalonego algorytmu symetrycznego, który wykorzystywany będzie do szyfrowania transmisji. 
 
Jest to standardowe użycie kryptografii asymetrycznej znane m.in. z usług terminalowych tj. SSH czy z architektury PKI. W tym miejscu następuje zakończenie fazy I IKE. Ustalone w niej parametry i zestawione bezpieczne połączenie posłużą do wymiany i zestawienia w fazie II  bezpiecznego połączenia do transmisji danych. 
 
Faza II odbywa się już w trybie szyfrowanym, jej zadaniem jest ustalenie parametrów tunelu za pomocą których dokonywana będzie transmisja. 

Faza II negocjuje następujące parametry: 

  • Protokół IPSec – ESP lub AH 
  • Symetryczny algorytm szyfrujący – DES, 3DES, AES 
  • Funkcje skrótu dla zapewnienia integralności – MD5 lub SHA-1 
  • Tryb IPSec – tunelowy lub transportowy 
  • Długość życia tunelu 

Podobnie jak w fazie I parametry owe tworzą paczkę konfigurowana na obu stronach połączenia. Po ustaleniu ww. danych następuje wymiana kluczy szyfrujących i dalsza transmisja odbywa się już w oparciu o nie. Jak widać, powyższe parametry w części były już negocjowane w fazie I, jednakże służą one jedynie do bezpiecznej wymiany i ustalania końcowych parametrów służących do transmisji danych. 

Po zakończeniu obu faz IKE rozpoczyna się docelowa realizacja wymiany danych. Dane jak już wspomniano enkapsulowane są za pomocą jednego z dwóch protokołów AH lub ESP. Protokół AH nie zapewnia szyfrowania danych a jedynie dba o zachowanie ich integralność. 

W przypadku jego wykorzystania w drugiej fazie IKE klucze szyfrujące nie są negocjowane. W związku z tym w dzisiejszych zastosowaniach jest to protokół archaiczny i niewykorzystywany, jego miejsce zajął bardziej kompleksowy protokół jakim jest ESP. Dane transmitowane w tunelu IPSec enkapsulowane są w nagłówek ESP a następnie w zależności od trybu w docelowy lub zawierający dane hostów terminujących połączenie nagłówek IP. 

Multiprotocol Label Switching VPN 

Technologia MPLS jest rozwiązaniem niezmiernie rozbudowanym dalece wykraczającym poza zakres tego artykułu. Aby jednak można było zrozumieć zasadnicze działanie sieci VPN zbudowanej na jej podstawie niezbędnym jest krótkie przedstawienie jej konceptu. Zgodnie z dostępną literaturą MPLS to technologia stosowana przez routery, w której trasowanie pakietów zostało zastąpione przez tzw. przełączanie etykiet. Na brzegu sieci z protokołem MPLS do pakietu dołączana jest dodatkowa informacja zwana etykietą. Router po odebraniu pakietu z etykietą (jest to z punktu widzenia danego routera etykieta wejściowa) używa jej jako indeksu do wewnętrznej tablicy etykiet, w której znajduję się następny punkt sieciowy oraz nowa etykieta (etykieta wyjściowa). Etykieta wejściowa jest zastępowana wyjściową i pakiet jest wysyłany do następnego punktu sieciowego. Jeżeli następny router nie obsługuje protokołu MPLS etykieta jest usuwana. 

Przypisanie pakietowi etykiety na brzegu sieci odbywa się w tzw. procesie klasyfikacji. Pakiety które będą w jednakowy sposób routowane przez sieć MPLS klasyfikowane są do jednej klasy FEC (Forwarding Equivalence Class) i otrzymują tą samą etykietę. (Przykładowo, klasy FEC mogą być budowane na bazie adresów docelowych IP w nagłówku pakietu, w taki sposób, że każda klasa FEC pokrywa się z pojedynczym wpisem w tablicy trasowania routera). 

Przyporządkowanie danej klasy FEC do etykiety jest sygnalizowane innym routerom za pomocą protokołu dystrybucji etykiet. Pozwala to routerom na zbudowanie tablic etykiet. W zależności od konkretnego zastosowania, jako protokół do dystrybucji etykiet, używany jest: LDP (Label Distribution Protocol) albo odpowiednio rozszerzone protokoły: RSVP lub BGP. W niektórych przypadkach możliwe jest dodawanie do pakietu kolejnych etykiet tworząc tzw. stos etykiet.  Wykorzystanie stosu etykiet leży u podstaw tworzenia i działanie MPLS VPN.  

Przykładowe firmy X oraz Y (Ilustracja 2) posiadają po dwie lokalizacje. Lokalizacje każdej z firm tworzą koherentny LAN  wykorzystując MPLS VPN dostarczony przez operatora (ISP). W każdej lokalizacji znajduje się router  brzegowy tzw. customer edge (CE) połączony z routerem brzegowym po stronie operatora tzw. provider edge (PE). Routery PE komunikują się ze sobą wykorzystując routery wewnętrzne operatora (P) działające jako przełączniki etykiet MPLS i za ich pomocą realizujące komunikacje. Jeden router PE może obsługiwać wiele różnych sieci MPLS VPN, a co istotniejsze poszczególne sieci mogą posiadać nakładające się na siebie schematy adresacji. Każda sieć ma przypisany identyfikator tzw. route distignisher (RD) będący w zasadzie etykietą MPLS.  
 
Rozważmy przykładowy ruch pomiędzy routerami CE tj. aktualizację routing RIP. W każdej z firm router CE rozgłasza obsługiwane przez siebie prefiksy w stronę routera PE. Router PE posiada oddzielną tablicę routingu dla każdej z firm. Otrzymując aktualizacje RIP  od routera CE przypisuje jej etykietę MPLS tzn. wspomniany wcześniej RD. Routery PE wykorzystują specjalny protokół routingu najczęściej MPBGP (Multi Protocol Border Gatway Protocol) do wymiany między sobą informacji które routery PE posiadają RD z którego otrzymał pakiet z aktualizacją routingu. Po znalezieniu docelowego routera PE źródłowy PE opakowuje pakiet w kolejną etykietę MPLS identyfikującą docelowy PE i przesyła go poprzez sieć MPLS operatora. Podobnie sytuacja ma się gdy router PE otrzyma informacje z innego CE. 
Pakiet zostanie przesłany w oparciu o tablicę routingu dla tego CE. Gdy docelowy PE otrzyma ramkę MPLS skierowaną do niego zdejmuje ją i odczytuje RD wstawiony przez źródłowy PE i na jego podstawie przekazuje pakiet IP do docelowego CE. 

Pomimo faktu, iż dostawca usługi MPLS VPN zobowiązuje się do zapewnienia najwyższego poziomu bezpieczeństwa i całkowite odseparowanie ruchu wewnątrz tunelu od ruchu publicznego, MPLS VPN jest w większości przypadków wykorzystywany jako technologia budowy i utrzymania sieci WAN. W przypadku natomiast kluczowych danych często wykorzystuje się dodatkowo inny tradycyjnie rozumiany protokół VPN  np. IPSec za pomocą którego transportuje się je poprzez MPLS VPN.  Mamy wtedy do czynienia z tzw. IPSec over MPLS. 

Co wybrać ? 

Przymierzając się do budowy bezpiecznej sieci WAN łączącej rozproszone lokalizacje naszej organizacji przed wszystkim powinniśmy dokładnie oszacować nasze potrzeby. W sytuacji kiedy nie jest wymagane aby urządzenia w każdej lokalizacji współdzieliły warstwę drugą i dodatkowo nie przewidujemy znaczącego rozrostu liczny lokalizacji IPSec wydaje się rozwiązaniem znacznie prostszym i tańszym. Za jego wyborem przemawia również wysokie bezpieczeństwo oraz fakt że został on włączony do stosu IPv6 jako natywna część nagłówka co w przyszłości uczyni go jeszcze powszechniejszym i prostszym w implementacji. 
Jeżeli jednak nasza organizacja dynamicznie się rozrasta a my potrzebujemy bardzo szybkiego, wydajnego oraz pozwalającego na przenoszenie dowolnego ruchu rozwiązania MPLS VPN jest godny rozważenia. Należy się jednak w takim wypadku liczyć ze znacznym kosztem oraz komplikacja ewentualnego wdrożenia. 

IPSec jest w swojej funkcjonalności protokołem umiejscowionym pomiędzy warstwami III i IV.
Często spotyka się twierdzenie, iż jest to nawet protokół warstwy IV. Został stworzony w oparciu o szkielet TCP/IP aby zapewnić bezpieczeństwo danym transmitowanym przez ten protokół. Taka konstrukcja powoduje jednak pewne problemy. Otóż, przez standardowo utworzony tunel IPSec nie jest przenoszony ruch braodcastowy ani multicastowy. Nie transportuje on również pakietów wysyłanych przez dynamiczne protokołu routingu. Generalnie nie transportuje protokołów innych niżeli TCP/IP.
W przypadku wykorzystania IPSec do tworzenia bezpiecznych połączeń o charakterze sieci WAN w oparciu o site-to-site VPN brak ww. funkcjonalności stanowi istotny problem. Aby zniwelować ta wadę zaproponowane wykorzystanie wspomnianych już tuneli GRE wraz z IPSec. GRE umożliwia przenoszenie dowolnego protokołu zamkniętego w tworzonym przez niego nagłówku poprzez dedykowany interfejs tunelowy. Co za tym idzie GRE umożliwia działanie m.in. dynamicznego routingu. Sieci VPN stworzona w ten sposób nosi nazwę GRE over IPSec. Przenoszony przez tunel macierzysty pakiet jest opakowywany w pakiet GRE, który zgodnie z zasadami IPSec jest następnie opakowywany w nagłówek AH lub ESP.  Takie rozwiązanie powoli staje się standardem w przypadku sieci site-to-site VPN, umożliwia bowiem większą skalowalność i w znaczonym sposób uprasza zadania administracyjne. 

Za pra - ojca współczesnej kryptografii uznać można Juliusza Cezara. Cezar do przekazywania istotnych informacji, głównie o charakterze militarnym zastosował jeden z pierwszych znanych i stosowany w zmodyfikowanej wersji  przez wiele stuleci algorytm szyfrujący zwany potocznie „szyfrem Cezara”. Algorytm ten był w istocie bardzo prosty. Działanie jego było następujące; treść wiadomości zwaną tekstem jawnym przekształcano w wiadomość zaszyfrowaną zwaną tekstem tajnym poprzez zamianę każdej z liter wiadomość na trzecią kolejną literę występującą po niej w alfabecie.  W praktyce wyglądało to następująco: 

  • tekst jawny: A B C D E F G H 
  • tekst tajny:   D E F G  H I  J K 

Do odszyfrowania wiadomości jej adresat winien był jedynie znać informacje o tym, iż każdej literze w zaszyfrowanej wiadomości przyporządkować należy literę występującą o trzy miejsca wcześniej. Taki rodzaj algorytmu, w którym do szyfrowania jako i do odszyfrowania wiadomości wykorzystujemy ten sam schemat postępowania nazywamy algorytmem symetrycznym.  Z czasem algorytmy symetryczne przybrały dużo bardziej skomplikowane formy, gdyż okazywało się, że często dawały się rozszyfrować z użyciem prostych metod krypto analitycznych. Tworzono np. wiele wzorów alfabetów, dzielono tekst jawny na części i szyfrowano je przy użyciu różnych przyporządkowań. Sposób przyporządkowywania opisywał klucz algorytmu, którym mogło być np. słowo w którym pozycja każdej z jego liter w alfabecie odpowiadała numerowi przyporządkowania, którego użyto do szyfrowania danej partii tekstu jawnego.  Przykładowo jeżeli jako klucza użyto wyrazu „ab” oraz jeśli mamy dwa możliwe alfabety przyporządkowujące gdzie w pierwszym podstawiamy trzecią literę z kolei a w drugim piątą to nasze szyfrowanie będzie wyglądać następująco: 

  • tekst jawny:  A B C D E  F 
  • tekst tajny:    D F F  I  H K 

Do najważniejszych algorytmów symetrycznych zaliczamy: DES, 3DES, AES 

Jedną z głównych słabości algorytmów symetrycznych była dystrybucja klucza. Przed kryptografami stanęło więc wyzwanie stworzenia takiego systemu kryptograficznego, który będzie niezależny od problemu dystrybucji klucza. Rozwiązaniem stało się zastosowanie takich funkcji matematycznych, które umożliwiały zaszyfrowanie tekstu jawnego za pomocą jednego klucza a odszyfrowanie za pomocą innego. Algorytm taki został nazwany algorytmem asymetrycznym.  Istota algorytmów asymetrycznych tkwi w fakcie, iż zaszyfrowana za pomocą jednego z kluczy wiadomości da się odszyfrować w rozsądnym odcinku czasu tylko i wyłącznie za pomocą  drugiego. System kryptograficzny wykorzystujący algorytmy asymetryczne jest nazywany szyfrowaniem z kluczem publicznym. ​ 

W pierwszym etapie podmioty, które zamierzają prowadzić konwersacje w oparciu o algorytm asymetryczny generują parę kluczy tzw. klucz publiczny oraz klucz prywatny. Każdy z podmiotów publikuje wygenerowany klucz publiczny oraz zachowuje w najwyższej tajemnicy klucz prywatny. Następnie zakładamy, iż Alice chce wysłać zaszyfrowaną wiadomość do Boba. Alice szyfruje posiadany przez nią tekst jawny za pomocą klucza publicznego Boba po czym wysyła do niego tak zaszyfrowaną wiadomość. Bob odbiera wiadomość od Alice  i odszyfrowuje ją za pomocą posiadanego przez siebie klucza prywatnego. W kolejnym kroku jeśli Bob chciałby odpowiedzieć Alice na jej wiadomość, szyfruje odpowiedź za pomocą klucza publicznego Alice i wysyła do niej, po czym Alice analogicznie odszyfrowuje odpowiedź za pomocą swojego klucza prywatnego.
Powyższy opis ilustruje działanie każdego z ewentualnych asymetrycznych algorytmów kryptograficznych, jednakże ma on głównie zastosowanie teoretyczne. W praktyce bowiem okazuje się iż, prowadzenie szyfrowanej komunikacji z użyciem algorytmów asymetrycznych mimo ich niewątpliwych zalet posiada jedną aczkolwiek kluczową wadę, jest niezwykle skomplikowane obliczeniowo a co za tym idzie wysoko obciąża maszyny prowadzące konwersacje i jest przy tym znacząco wolniejsze w porównaniu z szyfrowaniem symetrycznym. Sytuacja taka okazała się nie akceptowalna we współczesnych zastosowaniach.
W związku z tym, w większość przypadków zastosowano następujące rozwiązanie hybrydowe.
W pierwszej kolejności korzystając z algorytmu asymetrycznego i wygenerowanych kluczy ustala się  symetryczny algorytm i klucz szyfrujący. Po czym całość dalszej komunikacji realizowana jest za pomocą wynegocjowanego algorytmu symetrycznego. 

Główne obecnie używane algorytmy asymetryczne to powszechnie znany RSA oraz
algorytm Diffiego- Helmana. 

​o Autorze

Michal Kazmierczyk

​Zobacz ​także:

Czy Twoja firma jest gotowa na pracę zdalną?​

Dostęp pracowników do Internetu

Zarządzanie przedsiębiorstwem w dobie pracy zdalnej

​Dołącz do naszej społeczności!

>