Cisco CyberOps Associate - Kryptografia

1. Organizacje muszą zapewnić wsparcie w celu zabezpieczenia danych, które przemieszczają się przez połączenia. Może to obejmować ruch wewnętrzny, ale jeszcze ważniejsze jest ochrona danych, które podróżują poza organizację do oddziałów, miejsc pracy zdalnej i partnerów.

Elementy bezpiecznej komunikacji:
  • Integralność danych - Gwarantuje, że wiadomość nie została zmieniona. Każda zmiana danych w trakcie transmisji zostanie wykryta. Integralność jest zapewniana poprzez implementację jednego z algorytmów Secure Hash (SHA-2 lub SHA-3). Algorytm skrótu wiadomości MD5 jest nadal powszechnie używany, jednak jest z natury niebezpieczny i tworzy podatności w sieci. Użycie MD5 powinno być unikane.
  • Autentykacja pochodzenia - Gwarantuje, że wiadomość nie jest podróbką i rzeczywiście pochodzi od osoby, od której twierdzi, że pochodzi. Wiele nowoczesnych sieci zapewnia autentykację za pomocą algorytmów takich jak kod autentykacji wiadomości oparty na funkcji skrótu (HMAC).
  • Poufność danych - Gwarantuje, że tylko upoważnieni użytkownicy mogą odczytać wiadomość. Jeśli wiadomość zostanie przechwycona, nie można jej odszyfrować w rozsądnym czasie. Poufność danych jest implementowana za pomocą symetrycznych i asymetrycznych algorytmów szyfrowania.
  • Niezaprzeczalność danych - Gwarantuje, że nadawca nie może zaprzeczyć, czyli obalić, ważności wysłanej wiadomości. Niezaprzeczalność opiera się na fakcie, że tylko nadawca ma unikalne cechy lub sygnaturę, jak ta wiadomość jest traktowana.
Kryptografia może być używana prawie wszędzie tam, gdzie występuje komunikacja danych. W rzeczywistości trendem jest szyfrowanie wszystkich komunikatów.

2. Hashe są używane do weryfikacji i zapewnienia integralności danych. Haszowanie opiera się na jednokierunkowej funkcji matematycznej, która jest stosunkowo łatwa do obliczenia, ale znacznie trudniejsza do odwrócenia. Mielenie kawy to dobre porównanie do funkcji jednokierunkowej. Łatwo jest zmielić ziarna kawy, ale prawie niemożliwe jest zebranie wszystkich drobnych kawałków i odtworzenie oryginalnych ziaren. Kryptograficzna funkcja haszująca może być również używana do weryfikacji autentykacji.


Funkcja hash bierze zmienny blok danych binarnych, nazywany wiadomością, i produkuje skondensowaną reprezentację o stałej długości, nazywaną hashem. Wynikowy hash jest czasami nazywany skrótem wiadomości, skrótem lub cyfrowym odciskiem palca.

W przypadku funkcji hash, jest obliczeniowo nieosiągalne, aby dwie różne grupy danych dały ten sam wynik hash. Za każdym razem, gdy dane są zmieniane lub modyfikowane, wartość hash również się zmienia. Z tego powodu kryptograficzne wartości hash są często nazywane cyfrowymi odciskami palców. Mogą być używane do wykrywania duplikatów plików danych, zmian wersji plików i podobnych zastosowań. Te wartości są używane do ochrony przed przypadkową lub celową zmianą danych, lub przypadkowym uszkodzeniem danych.

Kryptograficzna funkcja hash jest stosowana w wielu różnych sytuacjach do celów autentykacji podmiotu, integralności danych i autentyczności danych.

3. Funkcje hash są używane do zapewnienia integralności wiadomości. Zapewniają, że dane nie zmieniły się przypadkowo lub celowo. 


Algorytm hash działa następująco:

  • Urządzenie wysyłające wprowadza wiadomość do algorytmu haszującego i oblicza jej stałodługościowy hash 4ehiDx67NMop9.
  • Ten hash jest następnie dołączany do wiadomości i wysyłany do odbiorcy. Zarówno wiadomość, jak i hash są w postaci tekstu jawnej.
  • Urządzenie odbierające usuwa hash z wiadomości i wprowadza wiadomość do tego samego algorytmu haszującego. Jeśli obliczony hash jest równy temu, który jest dołączony do wiadomości, wiadomość nie została zmieniona podczas transmisji. Jeśli hashe nie są równe, jak pokazano na rysunku, integralność wiadomości nie może być już zaufana.

Istnieją cztery dobrze znane funkcje hash:

  • MD5 z 128-bitowym skrótem - Opracowany przez Rona Rivesta i używany w różnych aplikacjach internetowych, MD5 to funkcja jednokierunkowa, która produkuje 128-bitową wiadomość hash. MD5 jest uważany za algorytm starszego typu i powinien być unikany i używany tylko wtedy, gdy nie ma lepszych alternatyw. Zaleca się zamiast tego używanie SHA-2 lub SHA-3.
  • SHA-1 – Opracowany przez amerykańską Agencję Bezpieczeństwa Narodowego (NSA) w 1995 roku. Jest bardzo podobny do funkcji hash MD5. Istnieje kilka wersji. SHA-1 tworzy 160-bitową wiadomość hash i jest nieco wolniejszy od MD5. SHA-1 ma znane wady i jest algorytmem starszego typu.
  • SHA-2 – Opracowany przez NSA. Obejmuje SHA-224 (224 bity), SHA-256 (256 bitów), SHA-384 (384 bity) i SHA-512 (512 bitów). Jeśli używasz SHA-2, to algorytmy SHA-256, SHA-384 i SHA-512 powinny być używane, ilekroć to możliwe.
  • SHA-3 - SHA-3 to najnowszy algorytm haszujący i został wprowadzony przez NIST jako alternatywa i ostateczne zastępstwo dla rodziny algorytmów haszujących SHA-2. SHA-3 obejmuje SHA3-224 (224 bity), SHA3-256 (256 bitów), SHA3-384 (384 bity) i SHA3-512 (512 bitów). Rodzina SHA-3 to algorytmy nowej generacji i powinny być używane, ilekroć to możliwe.

Podczas gdy haszowanie może być używane do wykrywania przypadkowych zmian, nie może być używane do ochrony przed celowymi zmianami dokonanymi przez aktora zagrożenia. W procedurze haszowania nie ma unikalnych informacji identyfikujących od nadawcy. Oznacza to, że każdy może obliczyć hash dla dowolnych danych, o ile ma poprawną funkcję hash.

Na przykład, gdy wiadomość przechodzi przez sieć, potencjalny atakujący może przechwycić wiadomość, zmienić ją, przeliczyć hash i dołączyć go do wiadomości. Urządzenie odbierające będzie tylko walidować wobec dowolnego hasha, który jest dołączony.

Dlatego haszowanie jest podatne na ataki typu man-in-the-middle i nie zapewnia bezpieczeństwa przesyłanym danym. Aby zapewnić integralność i autentykację pochodzenia, potrzebne jest coś więcej.

Uwaga: Algorytmy haszujące chronią tylko przed przypadkowymi zmianami i nie chronią danych przed zmianami celowo dokonanymi przez aktora zagrożenia.

4. Aby dodać autentykację pochodzenia i zapewnienie integralności, należy kodu autentykacji wiadomości z kluczem hash (HMAC). HMAC używa dodatkowego sekretnego klucza jako dane wejściowe do funkcji hash.

MAC jest obliczany za pomocą dowolnego algorytmu kryptograficznego, który łączy funkcję hash kryptograficzną z sekretnym kluczem. Funkcje hash są podstawą mechanizmu ochrony HMAC.

Tylko nadawca i odbiorca znają sekretny klucz, a wynik funkcji hash teraz zależy od danych wejściowych i sekretnego klucza. Tylko strony, które mają dostęp do tego sekretnego klucza, mogą obliczyć skrót funkcji HMAC. Pokonuje to ataki typu man-in-the-middle i zapewnia autentykację pochodzenia danych.

Jeśli dwie strony udostępniają sekretny klucz i używają funkcji HMAC do autentykacji, prawidłowo skonstruowany skrót HMAC wiadomości, którą strona otrzymała, wskazuje, że druga strona była twórcą wiadomości. Wynika to z faktu, że druga strona posiada sekretny klucz.

Urządzenie wysyłające wprowadza dane (takie jak wynagrodzenie Terry’ego Smitha w wysokości 100 dolarów i sekretny klucz) do algorytmu haszującego i oblicza skrót HMAC o stałej długości. Ten uwierzytelniony skrót jest następnie dołączany do wiadomości i wysyłany do odbiorcy.


Urządzenie odbierające usuwa skrót z wiadomości i używa jawnej wiadomości ze swoim sekretnym kluczem jako danych wejściowych do tej samej funkcji haszującej. Jeśli skrót, który jest obliczany przez urządzenie odbierające, jest równy skrótowi, który został wysłany, wiadomość nie została zmieniona. Dodatkowo, pochodzenie wiadomości jest uwierzytelnione, ponieważ tylko nadawca posiada kopię współdzielonego sekretnego klucza. Funkcja HMAC zapewniła autentyczność wiadomości.

5. Istnieją dwie klasy szyfrowania używane do zapewnienia poufności danych; asymetryczne i symetryczne. Te dwie klasy różnią się sposobem, w jaki używają kluczy.

Algorytmy szyfrowania symetrycznego, takie jak standard szyfrowania danych (DES), 3DES i zaawansowany standard szyfrowania (AES), opierają się na założeniu, że każda komunikująca się strona zna wcześniej udostępniony klucz. Poufność danych można również zapewnić za pomocą algorytmów asymetrycznych, w tym Rivest, Shamir i Adleman (RSA) oraz infrastruktury klucza publicznego (PKI).

Uwaga: DES jest algorytmem starszego typu i nie powinien być używany. 3DES powinien być unikany, jeśli to możliwe.

Przykładowe różnice między szyfrowaniem symetrycznym i asymetrycznym:

Szyfrowanie symetryczne:

  • Używa tego samego klucza do szyfrowania i deszyfrowania danych.
  • Długość kluczy jest krótsza (40-256 bitów)
  • Jest szybsze niż szyfrowanie asymetryczne.
  • Powszechnie używane do szyfrowania dużej ilości danych, takich jak ruch w sieci VPN.

Szyfrowanie asymetryczne:

  • Używa różnych kluczy do szyfrowania i deszyfrowania danych.
  • Długości kluczy są długie (512 - 4096 bitów).
  • Powszechnie używane do szybkich transakcji danych, takich jak HTTPS podczas dostępu do danych bankowych.
6. Algorytmy symetryczne używają tego samego wcześniej udostępnionego klucza do szyfrowania i deszyfrowania danych. Klucz wcześniej udostępniony, zwany również kluczem tajnym, jest znany przez nadawcę i odbiorcę przed rozpoczęciem jakiejkolwiek zaszyfrowanej komunikacji.


7. Dzisiaj algorytmy szyfrowania symetrycznego są powszechnie używane w ruchu VPN. Wynika to z faktu, że algorytmy symetryczne używają mniej zasobów procesora niż algorytmy szyfrowania asymetrycznego. Pozwala to na szyfrowanie i deszyfrowanie danych szybko podczas korzystania z VPN. Podczas korzystania z algorytmów szyfrowania symetrycznego, podobnie jak przy każdym innym typie szyfrowania, im dłuższy jest klucz, tym dłużej zajmie komuś odkrycie klucza. Większość kluczy szyfrowania ma długość od 112 do 256 bitów. Aby zapewnić bezpieczeństwo szyfrowania, należy używać klucza o minimalnej długości 128 bitów. Używaj dłuższego klucza dla bardziej bezpiecznej komunikacji.

Algorytmy szyfrowania symetrycznego są czasami klasyfikowane jako szyfry blokowe lub strumieniowe.

  • Szyfry blokowe przekształcają blok tekstu jawnego o stałej długości w powszechny blok szyfrogramu o 64 lub 128 bitach. Powszechne szyfry blokowe obejmują DES z rozmiarem bloku 64 bity i AES z rozmiarem bloku 128 bitów.
  • Szyfry strumieniowe szyfrują tekst jawny po jednym bajcie lub bicie na raz. Szyfry strumieniowe są w zasadzie szyfrem blokowym o rozmiarze bloku jednego bajta lub bitu. Szyfry strumieniowe są zazwyczaj szybsze niż szyfry blokowe, ponieważ dane są szyfrowane ciągle. Przykłady szyfrów strumieniowych to RC4 i A5, które są używane do szyfrowania komunikacji telefonów komórkowych GSM.

Algorytmy szyfrowania symetrycznegoOpis
Standard szyfrowania danych (DES)Jest to starszy algorytm szyfrowania symetrycznego. Używa krótkiego klucza, co sprawia, że jest niebezpieczny dla większości obecnych zastosowań.
3DES (Potrójny DES)Jest to zastępstwo dla DES i powtarza proces algorytmu DES trzy razy. Jeśli to możliwe, powinno być unikane, ponieważ ma zostać wycofane w 2023 roku. Jeśli jest zaimplementowane, używaj bardzo krótkich okresów ważności klucza.
Zaawansowany standard szyfrowania (AES)AES jest popularnym i zalecanym algorytmem szyfrowania symetrycznego. Oferuje kombinacje kluczy o długości 128, 192 lub 256 bitów do szyfrowania bloków danych o długości 128, 192 lub 256 bitów.
Algorytm szyfrowania zoptymalizowany pod kątem oprogramowania (SEAL)SEAL jest szybszą alternatywą dla algorytmu szyfrowania symetrycznego AES. SEAL jest szyfrem strumieniowym, który używa 160-bitowego klucza szyfrowania i ma mniejszy wpływ na procesor w porównaniu z innymi algorytmami opartymi na oprogramowaniu.
Algorytmy serii szyfrów Rivesta (RC)Ten algorytm został opracowany przez Rona Rivesta. Opracowano kilka wariantów, ale najczęściej używany był RC4. RC4 jest szyfrem strumieniowym, który był używany do zabezpieczania ruchu sieciowego. Stwierdzono, że ma wiele podatności, które uczyniły go niebezpiecznym. RC4 nie powinien być używany.

8. Algorytmy asymetryczne, zwane również algorytmami z kluczem publicznym, są zaprojektowane tak, aby klucz używany do szyfrowania był inny niż klucz używany do deszyfrowania, jak pokazano na rysunku. Klucza do deszyfrowania nie można w rozsądnym czasie obliczyć z klucza do szyfrowania i na odwrót.

Algorytmy asymetryczne używają klucza publicznego i prywatnego. Oba klucze są zdolne do procesu szyfrowania, ale do deszyfrowania wymagany jest komplementarny sparowany klucz. Proces jest również odwracalny. Dane, które są szyfrowane kluczem publicznym, wymagają klucza prywatnego do deszyfrowania. Algorytmy asymetryczne osiągają poufność i autentyczność, korzystając z tego procesu.

Ponieważ żadna ze stron nie ma współdzielonego sekretu, muszą być używane bardzo długie długości kluczy. Szyfrowanie asymetryczne może używać długości kluczy od 512 do 4096 bitów. Długości kluczy większe lub równe 2048 bitów mogą być uznane za bezpieczne, podczas gdy długości kluczy 1024 lub krótsze są uważane za niewystarczające.

Przykłady protokołów, które używają algorytmów z kluczem asymetrycznym, obejmują:

  • Wymiana kluczy internetowych (IKE) - Jest to podstawowy składnik VPN IPsec. 
  • Warstwa gniazd bezpiecznych (SSL) - Jest teraz implementowana jako standard IETF Transport Layer Security (TLS). 
  • Bezpieczna powłoka (SSH) - Ten protokół zapewnia bezpieczne połączenie zdalnego dostępu do urządzeń sieciowych. 
  • Pretty Good Privacy (PGP) - Ten program komputerowy zapewnia kryptograficzną prywatność i autentykację. Często jest używany do zwiększenia bezpieczeństwa komunikacji e-mailowej. 

Algorytmy asymetryczne są znacznie wolniejsze niż algorytmy symetryczne. Ich konstrukcja opiera się na problemach obliczeniowych, takich jak faktoryzacja bardzo dużych liczb lub obliczanie dyskretnych logarytmów bardzo dużych liczb.

Ponieważ są wolne, algorytmy asymetryczne są zwykle używane w mechanizmach kryptograficznych o niskiej objętości, takich jak podpisy cyfrowe i wymiana kluczy. Jednak zarządzanie kluczami w algorytmach asymetrycznych zwykle jest prostsze niż w algorytmach symetrycznych, ponieważ zazwyczaj jeden z dwóch kluczy do szyfrowania lub deszyfrowania może być upubliczniony.

Algorytm szyfrowania asymetrycznegoDługość kluczaOpis
Diffie-Hellman (DH)512, 1024, 2048, 3072, 4096Algorytm Diffie-Hellmana pozwala dwóm stronom zgodzić się na klucz, który mogą używać do szyfrowania wiadomości, które chcą sobie nawzajem wysłać. Bezpieczeństwo tego algorytmu zależy od założenia, że łatwo jest podnieść liczbę do pewnej potęgi, ale trudno jest obliczyć, która potęga była użyta, znając liczbę i wynik.
Standard cyfrowego podpisu (DSS) i algorytm cyfrowego podpisu (DSA)512 - 1024DSS określa DSA jako algorytm dla cyfrowych podpisów. DSA to algorytm klucza publicznego oparty na schemacie podpisu ElGamala. Szybkość tworzenia podpisu jest podobna do RSA, ale jest od 10 do 40 razy wolniejsza w weryfikacji.
Algorytmy szyfrowania Rivest, Shamir i Adleman (RSA)512 do 2048RSA służy do kryptografii z kluczem publicznym, która opiera się na obecnej trudności faktoryzacji bardzo dużych liczb. Jest to pierwszy znany algorytm odpowiedni do podpisywania, jak również do szyfrowania. Jest szeroko stosowany w protokołach handlu elektronicznego i uważa się, że jest bezpieczny przy wystarczająco długich kluczach i użyciu najnowszych implementacji.
EIGamal512 - 1024Algorytm szyfrowania klucza asymetrycznego dla kryptografii z kluczem publicznym, który opiera się na porozumieniu klucza Diffie-Hellmana. Wadą systemu ElGamala jest to, że zaszyfrowana wiadomość staje się bardzo duża, około dwa razy większa od oryginalnej wiadomości i z tego powodu jest używany tylko do małych wiadomości, takich jak tajne klucze.
Techniki krzywych eliptycznych224 lub wyższeKryptografia krzywych eliptycznych może być używana do dostosowania wielu algorytmów kryptograficznych, takich jak Diffie-Hellman czy ElGamal. Główną zaletą kryptografii krzywych eliptycznych jest to, że klucze mogą być znacznie mniejsze.

9. Algorytmy asymetryczne są używane do zapewnienia poufności bez wcześniejszego udostępniania hasła. Cel poufności algorytmów asymetrycznych jest inicjowany, gdy proces szyfrowania jest rozpoczynany za pomocą klucza publicznego.

Proces można podsumować za pomocą formuły:

Klucz publiczny (Szyfrowanie) + Klucz prywatny (Deszyfrowanie) = Poufność

Gdy klucz publiczny jest używany do szyfrowania danych, klucz prywatny musi być używany do odszyfrowania danych. Tylko jeden host ma klucz prywatny; dlatego osiągana jest poufność.

Jeśli klucz prywatny zostanie skompromitowany, musi zostać wygenerowana inna para kluczy, aby zastąpić skompromitowany klucz.


10. Diffie-Hellman (DH) to asymetryczny algorytm matematyczny, który pozwala dwóm komputerom na wygenerowanie identycznego wspólnego sekretu bez wcześniejszej komunikacji. Nowy wspólny klucz nigdy tak naprawdę nie jest wymieniany między nadawcą a odbiorcą. Jednak, ponieważ obie strony go znają, klucz może być używany przez algorytm szyfrowania do szyfrowania ruchu między dwoma systemami.

Przykłady sytuacji, kiedy DH jest powszechnie używany:
  • Dane są wymieniane za pomocą VPN IPsec
  • Dane SSH są wymieniane

Bezpieczeństwo DH opiera się na fakcie, że używa on bardzo dużych liczb w swoich obliczeniach. Na przykład liczba DH 1024-bitowa jest mniej więcej równa liczbie dziesiętnej o 309 cyfrach. Biorąc pod uwagę, że miliard to 10 cyfr dziesiętnych (1,000,000,000), łatwo można sobie wyobrazić złożoność pracy nie z jednym, ale z wieloma liczbami dziesiętnymi o 309 cyfrach.

Diffie-Hellman używa różnych grup DH, aby określić siłę klucza, który jest używany w procesie uzgadniania klucza. Wyższe numery grup są bardziej bezpieczne, ale wymagają dodatkowego czasu na obliczenie klucza. Poniżej przedstawiono grupy DH obsługiwane przez oprogramowanie Cisco IOS i ich powiązaną wartość liczby pierwszej:

  • Grupa DH 1: 768 bitów 
  • Grupa DH 2: 1024 bity 
  • Grupa DH 5: 1536 bitów 
  • Grupa DH 14: 2048 bitów 
  • Grupa DH 15: 3072 bity 
  • Grupa DH 16: 4096 bitów 

Niestety, systemy kluczy asymetrycznych są niezwykle wolne dla jakiegokolwiek rodzaju masowego szyfrowania. Dlatego powszechne jest szyfrowanie większości ruchu za pomocą algorytmu symetrycznego, takiego jak 3DES lub AES i używanie algorytmu DH do tworzenia kluczy, które będą używane przez algorytm szyfrowania.

11. Podpisy cyfrowe to technika matematyczna używana do zapewnienia autentyczności, integralności i niezaprzeczalności. Podpisy cyfrowe mają specyficzne właściwości, które umożliwiają uwierzytelnianie podmiotu i integralność danych. Ponadto, podpisy cyfrowe zapewniają niezaprzeczalność transakcji. Innymi słowy, podpis cyfrowy służy jako prawny dowód, że wymiana danych miała miejsce. Podpisy cyfrowe używają kryptografii asymetrycznej.

Podpisy cyfrowe są powszechnie używane w następujących dwóch sytuacjach:

  • Podpisywanie kodu - Jest to używane do celów integralności danych i uwierzytelniania. Podpisywanie kodu służy do weryfikacji integralności plików wykonywalnych pobranych ze strony internetowej dostawcy. Wykorzystuje również podpisane certyfikaty cyfrowe do uwierzytelniania i weryfikacji tożsamości strony, która jest źródłem plików. 
  • Certyfikaty cyfrowe - Są one podobne do wirtualnej karty ID i służą do uwierzytelniania tożsamości systemu na stronie internetowej dostawcy i nawiązania zaszyfrowanego połączenia do wymiany poufnych danych. 
Istnieją trzy algorytmy Standardu Podpisu Cyfrowego (DSS), które są używane do generowania i weryfikowania podpisów cyfrowych:

  • Algorytm podpisu cyfrowego (DSA) - DSA to oryginalny standard generowania par kluczy publicznych i prywatnych oraz generowania i weryfikowania podpisów cyfrowych. 
  • Algorytm Rivest-Shamir Adelman (RSA) - RSA to algorytm asymetryczny, który jest powszechnie używany do generowania i weryfikowania podpisów cyfrowych. 
  • Algorytm podpisu cyfrowego krzywej eliptycznej (ECDSA) - ECDSA to nowsza wersja DSA i zapewnia uwierzytelnianie podpisu cyfrowego i niezaprzeczalność z dodatkowymi korzyściami z efektywności obliczeniowej, małych rozmiarów podpisu i minimalnej przepustowości.
12. Podpisy cyfrowe są powszechnie używane do zapewnienia autentyczności i integralności kodu oprogramowania. Pliki wykonywalne są zawarte w cyfrowo podpisanej kopercie, która pozwala końcowemu użytkownikowi na weryfikację podpisu przed instalacją oprogramowania.

Cyfrowe podpisywanie kodu daje kilka gwarancji co do kodu:

  • Kod jest autentyczny i pochodzi faktycznie od wydawcy. 
  • Kod nie został zmodyfikowany od momentu opuszczenia wydawcy oprogramowania. 
  • Wydawca niezaprzeczalnie opublikował kod. 
  • Zapewnia to niezaprzeczalność aktu publikacji. Amerykański rządowy standard przetwarzania informacji (FIPS) 

Celem cyfrowo podpisanego oprogramowania jest zapewnienie, że oprogramowanie nie zostało naruszone, a także że pochodzi od zaufanego źródła, jak to jest twierdzone. Podpisy cyfrowe służą jako weryfikacja, że kod nie został naruszony przez aktorów zagrożeń i że złośliwy kod nie został wstawiony do pliku przez stronę trzecią.

13. Certyfikat SSL to cyfrowy certyfikat potwierdzający tożsamość domeny witryny. Aby wdrożyć SSL na swojej witrynie, musisz zakupić certyfikat SSL dla swojej domeny od dostawcy certyfikatów SSL. Zaufana trzecia strona przeprowadza dogłębne badania przed wydaniem poświadczeń. Po tych dogłębnych badaniach trzecia strona wydaje poświadczenia (czyli cyfrowy certyfikat), które są trudne do sfałszowania. Od tego momentu wszyscy, którzy ufają trzeciej stronie, akceptują wydane przez nią poświadczenia. Kiedy komputery próbują połączyć się z witryną za pomocą protokołu HTTPS, przeglądarka internetowa sprawdza certyfikat bezpieczeństwa witryny i weryfikuje, czy jest on ważny i pochodzi od wiarygodnego organu certyfikującego. To potwierdza, że tożsamość witryny jest prawdziwa. Certyfikat jest zapisywany lokalnie przez przeglądarkę internetową i jest używany w kolejnych transakcjach. Klucz publiczny witryny jest zawarty w certyfikacie i służy do weryfikacji przyszłych komunikacji między witryną a klientem.

14. Infrastruktura Klucza Publicznego (PKI) to zbiór specyfikacji, systemów i narzędzi używanych do tworzenia, zarządzania, dystrybucji, wykorzystywania, przechowywania i unieważniania cyfrowych certyfikatów. Organizacja certyfikująca (CA) tworzy cyfrowe certyfikaty, łącząc klucz publiczny z potwierdzoną tożsamością, taką jak witryna internetowa lub osoba fizyczna. PKI to złożony system zaprojektowany w celu ochrony cyfrowych tożsamości przed atakami nawet najbardziej zaawansowanych aktorów zagrożeń lub państw.

15. Infrastruktura Klucza Publicznego (PKI) to zbiór sprzętu, oprogramowania, osób, polityk i procedur potrzebnych do tworzenia, zarządzania, przechowywania, dystrybucji oraz unieważniania cyfrowych certyfikatów. Certyfikat PKI to struktura danych elektronicznych, która łączy klucz publiczny z urządzeniem lub użytkownikiem, który go posiada.
  1. Certyfikaty PKI: Certyfikaty zawierają klucz publiczny podmiotu lub osoby, jego cel, organ certyfikujący (CA), który zweryfikował i wydał certyfikat, okres ważności certyfikatu oraz algorytm używany do tworzenia podpisu. Sklep certyfikatów znajduje się na lokalnym komputerze i przechowuje wydane certyfikaty oraz klucze prywatne.

  2. Certyfikat CA: Certyfikat CA to zaufana trzecia strona, która wydaje certyfikaty PKI podmiotom i osobom po weryfikacji ich tożsamości. Certyfikaty są podpisywane przez CA za pomocą klucza prywatnego.

  3. Baza danych certyfikatów: Przechowuje wszystkie zatwierdzone przez CA certyfikaty.

Wielu dostawców oferuje serwery CA jako usługę zarządzaną lub produkt końcowy. Niektóre z tych dostawców to Symantec Group (VeriSign), Comodo, Go Daddy Group, GlobalSign i DigiCert.

Organizacje mogą również wdrożyć prywatne PKI, korzystając z serwera Microsoft lub Open SSL.

Certyfikaty CA wydawane są na podstawie klas, które określają, jak bardzo można im ufać. Wyższy numer klasy oznacza bardziej zaufany certyfikat. 

KlasaOpis
0Używana do testów w sytuacjach, w których nie przeprowadzono żadnych weryfikacji.
1Używana przez osoby, które wymagają weryfikacji adresu e-mail.
2Używana przez organizacje, dla których wymagane jest potwierdzenie tożsamości.
3Używana do podpisywania serwerów i oprogramowania. Niezależna weryfikacja i sprawdzanie tożsamości oraz uprawnień są wykonywane przez organ certyfikujący.
4Używana do transakcji biznesowych między firmami w internecie.
5Używana przez prywatne organizacje lub w celach bezpieczeństwa państwowego.

16. Niektóre klucze publiczne CA są wczytywane wstępnie, takie jak te wymienione w przeglądarkach internetowych. Na rysunku przedstawione są różne certyfikaty VeriSign zawarte w sklepie certyfikatów na hoście. Wszystkie certyfikaty podpisane przez dowolne z tych CA zostaną uznane przez przeglądarkę za wiarygodne i automatycznie zaufane.

17. Infrastruktura Klucza Publicznego (PKI) może przyjmować różne topologie zaufania. Najprostszą z nich jest topologia pojedynczego korzenia PKI.

W tej topologii pojedynczy certyfikat CA, nazywany korzeniem CA, wydaje wszystkie certyfikaty użytkownikom końcowym, którzy zazwyczaj znajdują się w tej samej organizacji. Zaletą tego podejścia jest jego prostota. Jednakże trudno jest skalować go w dużym środowisku, ponieważ wymaga ściśle scentralizowanej administracji, co tworzy pojedynczy punkt awarii.


18. W większych sieciach urzędy certyfikacji PKI można łączyć przy użyciu dwóch podstawowych architektur:
Jedną z podstawowych architektur jest topologia krzyżowo-certyfikowanych CA.

W tej topologii każdy CA (organizacja certyfikująca) nawiązuje relacje zaufania z innymi CA poprzez wzajemne certyfikowanie certyfikatów CA. Użytkownicy w dowolnej domenie CA mogą również mieć pewność, że mogą sobie nawzajem ufać. To zapewnia redundancję i eliminuje pojedynczy punkt awarii.


Hierarchiczne topologie CA - Jak pokazano na poniższym rysunku, najwyższy poziom CA to tzw. główne CA (root CA). Może ono wydawać certyfikaty użytkownikom końcowym oraz podrzędnym CA. Podrzędne CA mogą być tworzone w celu wsparcia różnych jednostek biznesowych, domen lub społeczności zaufania. Główne CA utrzymuje ustanowioną "społeczność zaufania", zapewniając, że każda jednostka w hierarchii przestrzega minimalnego zestawu praktyk. Korzyści z tej topologii obejmują zwiększoną skalowalność i zarządzalność. Ta topologia sprawdza się w większości dużych organizacji. Jednak może być trudno określić łańcuch procesu podpisywania.

Hierarchiczna topologia i topologia z certyfikacją krzyżową mogą być połączone, aby stworzyć hybrydową infrastrukturę. Przykładem może być sytuacja, gdy dwie hierarchiczne społeczności chcą wzajemnie certyfikować się, aby członkowie każdej społeczności mogli sobie wzajemnie ufać.






Gdzie PKI może być używane przez przedsiębiorstwo? Poniżej znajduje się krótka lista typowych zastosowań PKI:

  • Autentykacja rówieśnicza oparta na certyfikatach SSL/TLS 
  • Zabezpieczanie ruchu sieciowego za pomocą VPN IPsec 
  • Ruch sieciowy HTTPS 
  • Kontrola dostępu do sieci za pomocą autentykacji 802.1x 
  • Zabezpieczanie e-maili za pomocą protokołu S/MIME 
  • Zabezpieczanie komunikacji natychmiastowej 
  • Zatwierdzanie i autoryzowanie aplikacji za pomocą podpisu kodu 
  • Ochrona danych użytkownika za pomocą systemu szyfrowania plików (EFS) 
  • Wdrażanie dwuskładnikowego uwierzytelniania za pomocą kart inteligentnych 
  • Zabezpieczanie urządzeń pamięci USB

Analityk bezpieczeństwa musi być w stanie rozpoznawać i rozwiązywać potencjalne problemy związane z zezwalaniem na rozwiązania związane z PKI w sieci przedsiębiorstwa.

Zagrożenia mogą korzystać z SSL/TLS, aby wprowadzać naruszenia zgodności z przepisami, wirusy, złośliwe oprogramowanie, utratę danych i próby wtargnięcia do sieci.

Inne problemy związane z SSL/TLS mogą być związane z walidacją certyfikatu serwera WWW. Gdy to nastąpi, przeglądarki internetowe wyświetlają ostrzeżenie o bezpieczeństwie. Problemy związane z PKI, które są związane z ostrzeżeniami o bezpieczeństwie, obejmują:

Niektóre z tych problemów można uniknąć, ponieważ protokoły SSL/TLS są rozszerzalne i modularne. Nazywa się to zestawem szyfrów. Kluczowe składniki zestawu szyfrów to algorytm kodu uwierzytelniania wiadomości (MAC), algorytm szyfrowania, algorytm wymiany kluczy i algorytm uwierzytelniania. Mogą one być zmieniane bez wymiany całego protokołu. Jest to bardzo pomocne, ponieważ różne algorytmy ciągle ewoluują. W miarę jak kryptoanaliza nadal ujawnia wady tych algorytmów, zestaw szyfrów może być aktualizowany, aby załatać te wady. Gdy wersje protokołu w zestawie szyfrów ulegają zmianie, zmienia się również numer wersji SSL/TLS.

Monitorowanie sieci staje się bardziej skomplikowane, gdy pakiety są szyfrowane. Jednak analitycy bezpieczeństwa muszą być świadomi tych wyzwań i radzić sobie z nimi jak najlepiej. Na przykład, gdy używane są VPN od strony do strony, IPS powinien być umieszczony tak, aby mógł monitorować nieszyfrowany ruch.

Jednak zwiększone użycie HTTPS w sieci przedsiębiorstwa wprowadza nowe wyzwania. Ponieważ HTTPS wprowadza zaszyfrowany ruch HTTP od końca do końca (za pośrednictwem TLS/SSL), nie jest tak łatwo podglądać ruch użytkowników.

Są dwa główne sposoby, w jakie kryptografia wpływa na dochodzenia dotyczące bezpieczeństwa. Po pierwsze, ataki mogą być skierowane specjalnie na algorytmy szyfrowania. Po złamaniu algorytmu i uzyskaniu kluczy przez atakującego, każde zaszyfrowane dane, które zostały przechwycone, mogą być odszyfrowane przez atakującego i odczytane, co odsłania prywatne dane. Po drugie, dochodzenie dotyczące bezpieczeństwa jest również dotknięte, ponieważ dane mogą być ukryte na widoku poprzez ich szyfrowanie. Na przykład, ruch poleceń i kontroli, który jest szyfrowany za pomocą TLS/SSL, najprawdopodobniej nie będzie widoczny dla zapory ogniowej. Ruch poleceń i kontroli między serwerem poleceń i kontroli a zainfekowanym komputerem w bezpiecznej sieci nie może być zatrzymany, jeśli nie jest widoczny i zrozumiały. Atakujący będzie mógł nadal używać zaszyfrowanych poleceń do infekowania więcej komputerów i możliwie tworzenia botnetu. Ten typ ruchu można wykryć, deszyfrując ruch i porównując go z znanymi sygnaturami ataków, lub wykrywając anomaliczny ruch TLS/SSL. Jest to albo bardzo trudne i czasochłonne, albo proces prób i błędów.