Bezpieczeństwo sieci - warstwa aplikacji

Różne usługi biznesowe są obecnie oferowane online za pośrednictwem aplikacji klient-serwer. Najpopularniejsze formularze to aplikacja internetowa i poczta elektroniczna. W obu aplikacjach klient komunikuje się z wyznaczonym serwerem i uzyskuje usługi.

Korzystając z usługi z dowolnej aplikacji serwerowej, klient i serwer wymieniają wiele informacji w intranecie lub Internecie. Mamy świadomość, że te transakcje informacyjne są narażone na różne ataki.

Bezpieczeństwo sieci polega na zabezpieczaniu danych przed atakami podczas ich przesyłania w sieci. Aby osiągnąć ten cel, zaprojektowano wiele protokołów bezpieczeństwa w czasie rzeczywistym. Taki protokół musi zapewniać co najmniej następujące główne cele -

  • Strony mogą negocjować interaktywnie w celu wzajemnego uwierzytelnienia.
  • Przed wymianą informacji w sieci ustal tajny klucz sesji.
  • Wymień informacje w postaci zaszyfrowanej.

Co ciekawe, protokoły te działają na różnych warstwach modelu sieciowego. Na przykład protokół S / MIME działa w warstwie aplikacji, protokół SSL jest przeznaczony do pracy w warstwie transportowej, a protokół IPsec w warstwie sieciowej.

W tym rozdziale omówimy różne procesy zapewniania bezpieczeństwa komunikacji e-mail i powiązane protokoły bezpieczeństwa. Metodę zabezpieczenia DNS omówiono w dalszej części. W kolejnych rozdziałach zostaną opisane protokoły zapewniające bezpieczeństwo w sieci.

Bezpieczeństwo poczty elektronicznej

W dzisiejszych czasach poczta elektroniczna stała się bardzo szeroko stosowaną aplikacją sieciową. Omówmy pokrótce infrastrukturę poczty e-mail, zanim przejdziemy do poznania protokołów bezpieczeństwa poczty e-mail.

Infrastruktura poczty elektronicznej

Najprostszym sposobem wysłania wiadomości e-mail byłoby wysłanie wiadomości bezpośrednio z maszyny nadawcy do maszyny odbiorcy. W takim przypadku ważne jest, aby obie maszyny działały w sieci jednocześnie. Jednak ta konfiguracja jest niepraktyczna, ponieważ użytkownicy mogą czasami łączyć swoje komputery z siecią.

Stąd pojawiła się koncepcja konfiguracji serwerów poczty elektronicznej. W tej konfiguracji poczta jest wysyłana do serwera pocztowego, który jest stale dostępny w sieci. Gdy urządzenie odbiorcy łączy się z siecią, odczytuje pocztę z serwera pocztowego.

Ogólnie rzecz biorąc, infrastruktura poczty e-mail składa się z siatki serwerów pocztowych, zwanych również Message Transfer Agents (MTA) i komputery klienckie z programem pocztowym składającym się z agenta użytkownika (UA) i lokalnego MTA.

Zwykle wiadomość e-mail jest przesyłana dalej z jej UA, przechodzi przez siatkę MTA i ostatecznie dociera do UA na komputerze odbiorcy.

Protokoły używane do przesyłania wiadomości e-mail są następujące -

  • Prosty protokół przesyłania poczty (SMTP) używany do przesyłania dalej wiadomości e-mail.

  • Post Office Protocol (POP) i Internet Message Access Protocol (IMAP) są używane do pobierania wiadomości z serwera przez odbiorcę.

MIM

Podstawowy internetowy standard poczty elektronicznej został opracowany w 1982 roku i opisuje format wiadomości e-mail wymienianych w Internecie. Obsługuje głównie wiadomości e-mail zapisane jako tekst w podstawowym alfabecie łacińskim.

W 1992 roku odczuwano potrzebę poprawy tego samego. W związku z tym zdefiniowano dodatkowe standardowe Multipurpose Internet Mail Extensions (MIME). Jest to zestaw rozszerzeń do podstawowego standardu internetowej poczty e-mail. MIME umożliwia wysyłanie wiadomości e-mail przy użyciu znaków innych niż podstawowy alfabet łaciński, takich jak cyrylica (używana w języku rosyjskim), alfabet grecki, czy nawet znaki ideograficzne języka chińskiego.

Kolejną potrzebą spełnianą przez MIME jest wysyłanie treści nietekstowych, takich jak obrazy lub klipy wideo. Ze względu na te cechy standard MIME został powszechnie przyjęty w protokole SMTP do komunikacji e-mailowej.

Usługi bezpieczeństwa poczty elektronicznej

Rosnące wykorzystanie komunikacji e-mail do ważnych i kluczowych transakcji wymaga świadczenia pewnych podstawowych usług bezpieczeństwa, takich jak:

  • Confidentiality - Wiadomość e-mail nie powinna być czytana przez nikogo poza zamierzonym odbiorcą.

  • Authentication - Odbiorca e-maila może mieć pewność co do tożsamości nadawcy.

  • Integrity - Zapewnienie odbiorcy, że wiadomość e-mail nie została zmieniona od czasu jej przesłania przez nadawcę.

  • Non-repudiation - Odbiorca wiadomości e-mail jest w stanie udowodnić osobie trzeciej, że nadawca rzeczywiście wysłał wiadomość.

  • Proof of submission - Nadawca wiadomości e-mail otrzymuje potwierdzenie przekazania wiadomości do systemu dostarczania poczty.

  • Proof of delivery - Nadawca otrzymuje potwierdzenie, że odbiorca otrzymał wiadomość.

Usługi bezpieczeństwa, takie jak prywatność, uwierzytelnianie, integralność wiadomości i niezaprzeczalność, są zwykle świadczone przy użyciu kryptografii klucza publicznego.

Zazwyczaj istnieją trzy różne scenariusze komunikacji e-mailowej. Omówimy metody osiągnięcia powyższych usług bezpieczeństwa w tych scenariuszach.

E-mail indywidualny

W tym scenariuszu nadawca wysyła wiadomość e-mail tylko do jednego odbiorcy. Zwykle w komunikacji zaangażowanych jest nie więcej niż dwóch MTA.

Załóżmy, że nadawca chce wysłać poufną wiadomość e-mail do odbiorcy. Zapewnienie prywatności w tym przypadku odbywa się w następujący sposób -

  • Nadawca i odbiorca mają swoje klucze publiczno-prywatne odpowiednio jako (S PVT , S PUB ) i (R PVT , R PUB ).

  • Nadawca generuje tajny klucz symetryczny K S do szyfrowania. Chociaż nadawca mógł użyć R PUB do szyfrowania, klucz symetryczny jest używany do osiągnięcia szybszego szyfrowania i deszyfrowania.

  • Nadawca szyfruje wiadomość kluczem K S, a także szyfruje K S kluczem publicznym odbiorcy R PUB .

  • Nadawca wysyła zaszyfrowaną wiadomość i zaszyfrowaną K S do odbiorcy.

  • Odbiorca najpierw uzyskuje K S przez odszyfrowanie zakodowanego K S za pomocą swojego klucza prywatnego R PVT .

  • Następnie odbiorca odszyfrowuje wiadomość przy użyciu klucza symetrycznego, k S .

Jeśli w tym scenariuszu są również potrzebne usługi integralności wiadomości, uwierzytelniania i niezaprzeczalności, następujące kroki są dodawane do powyższego procesu.

  • Nadawca tworzy skrót wiadomości i podpisuje go cyfrowo swoim kluczem prywatnym S PVT .

  • Nadawca wysyła ten podpisany hash do odbiorcy wraz z innymi składnikami.

  • Odbiorca używa klucza publicznego S PUB i wyodrębnia skrót otrzymany pod podpisem nadawcy.

  • Następnie odbiorca haszuje odszyfrowaną wiadomość i porównuje teraz dwie wartości skrótu. Jeśli są zgodne, uznaje się, że integralność wiadomości została osiągnięta.

  • Odbiorca ma również pewność, że wiadomość została wysłana przez nadawcę (uwierzytelnienie). I wreszcie, nadawca nie może zaprzeczyć, że nie wysłał wiadomości (niezaprzeczalność).

E-mail dla adresatów jeden do wielu

W tym scenariuszu nadawca wysyła wiadomość e-mail do dwóch lub większej liczby odbiorców. Lista jest zarządzana przez program pocztowy nadawcy (UA + lokalny MTA). Wszyscy odbiorcy otrzymują tę samą wiadomość.

Załóżmy, że nadawca chce wysłać poufną wiadomość e-mail do wielu odbiorców (powiedzmy R1, R2 i R3). Zapewnienie prywatności w tym przypadku odbywa się w następujący sposób -

  • Nadawca i wszyscy odbiorcy mają własną parę kluczy publiczno-prywatnych.

  • Nadawca generuje tajny klucz symetryczny K s i szyfruje wiadomość tym kluczem.

  • Następnie nadawca wielokrotnie szyfruje K S za pomocą kluczy publicznych R1, R2 i R3, uzyskując R1 PUB (K S ), R2 PUB (K S ) i R3 PUB (K S ).

  • Nadawca wysyła zaszyfrowaną wiadomość i odpowiednie zaszyfrowane K S do odbiorcy. Na przykład odbiorca 1 (R1) odbiera zaszyfrowaną wiadomość i R1 PUB (K S ).

  • Każdy odbiorca najpierw wyodrębnia klucz K S przez odszyfrowanie zakodowanego K S za pomocą swojego klucza prywatnego.

  • Następnie każdy odbiorca odszyfrowuje wiadomość przy użyciu klucza symetrycznego, k S .

Aby zapewnić integralność wiadomości, uwierzytelnianie i niezaprzeczalność, kroki, które należy wykonać, są podobne do kroków wymienionych powyżej w scenariuszu e-mail jeden do jednego.

E-mail z listą wysyłkową

W tym scenariuszu nadawca wysyła wiadomość e-mail do dwóch lub większej liczby odbiorców, ale lista adresatów nie jest zarządzana lokalnie przez nadawcę. Generalnie serwer poczty elektronicznej (MTA) obsługuje listę mailingową.

Nadawca wysyła wiadomość do MTA zarządzającego listą mailingową, a następnie jest ona rozsyłana przez MTA do wszystkich odbiorców na liście.

W tym przypadku, gdy nadawca chce wysłać poufną wiadomość e-mail do odbiorców listy mailingowej (powiedzmy R1, R2 i R3); prywatność jest zapewniona w następujący sposób -

  • Nadawca i wszyscy odbiorcy mają własną parę kluczy publiczno-prywatnych. Serwer Exploder ma parę kluczy prywatny-publiczny dla każdej utrzymywanej listy mailingowej (List PUB , List PVT ).

  • Nadawca generuje tajny klucz symetryczny K s, a następnie szyfruje wiadomość tym kluczem.

  • Następnie nadawca szyfruje K S kluczem publicznym skojarzonym z listą, uzyskuje List PUB (K S ).

  • Nadawca wysyła zaszyfrowaną wiadomość i List PUB (K S ). Zapalnik MTA deszyfruje listy PUB (K S ) za pomocą listy PVT i uzyska K S .

  • Eksploder szyfruje K S za pomocą tylu kluczy publicznych, ilu jest członków na liście.

  • Exploder przekazuje odebraną zaszyfrowaną wiadomość i odpowiadającą jej zaszyfrowaną K S do wszystkich odbiorców na liście. Na przykład Exploder przekazuje zaszyfrowaną wiadomość i R1 PUB (K S ) do odbiorcy 1 i tak dalej.

W celu zapewnienia integralności wiadomości, uwierzytelnienia i niezaprzeczalności kroki, które należy wykonać, są podobne do podanych w przypadku scenariusza e-mail jeden do jednego.

Co ciekawe, oczekuje się, że program pocztowy wykorzystujący powyższą metodę zabezpieczenia poczty e-mail będzie działał we wszystkich możliwych scenariuszach omówionych powyżej. Większość z powyższych mechanizmów bezpieczeństwa poczty e-mail jest zapewniana przez dwa popularne schematy, Pretty Good Privacy (PGP) i S / MIME. Omówimy oba w kolejnych sekcjach.

PGP

Pretty Good Privacy(PGP) to schemat szyfrowania wiadomości e-mail. Stał się de facto standardem świadczenia usług bezpieczeństwa komunikacji e-mailowej.

Jak wspomniano powyżej, wykorzystuje kryptografię klucza publicznego, kryptografię klucza symetrycznego, funkcję skrótu i ​​podpis cyfrowy. Zapewnia -

  • Privacy
  • Uwierzytelnianie nadawcy
  • Integralność wiadomości
  • Non-repudiation

Oprócz tych usług bezpieczeństwa zapewnia również kompresję danych i obsługę zarządzania kluczami. PGP wykorzystuje istniejące algorytmy kryptograficzne, takie jak RSA, IDEA, MD5 itp., Zamiast wymyślać nowe.

Działanie PGP

  • Obliczany jest skrót wiadomości. (Algorytm MD5)

  • Wynikowy 128-bitowy hash jest podpisywany kluczem prywatnym nadawcy (algorytm RSA).

  • Podpis cyfrowy jest łączony z wiadomością, a wynik jest kompresowany.

  • 128-bitowy klucz symetryczny K S są generowane i wykorzystywane do szyfrowania sprężonego wiadomość z IDEA.

  • K S jest szyfrowane kluczem publicznym odbiorcy za pomocą algorytmu RSA, a wynik jest dołączany do zaszyfrowanej wiadomości.

Format wiadomości PGP pokazano na poniższym schemacie. Identyfikatory wskazują, który klucz jest używany do szyfrowania KS i który ma być używany do weryfikacji podpisu na hashu.

W schemacie PGP wiadomość jest podpisana i zaszyfrowana, a następnie MIME jest kodowana przed transmisją.

Certyfikat PGP

Certyfikat klucza PGP jest zwykle ustanawiany na podstawie łańcucha zaufania. Na przykład klucz publiczny A jest podpisywany przez B przy użyciu jego klucza publicznego, a klucz publiczny B jest podpisywany przez C przy użyciu jego klucza publicznego. W miarę trwania tego procesu tworzy sieć zaufania.

W środowisku PGP każdy użytkownik może pełnić rolę urzędu certyfikującego. Każdy użytkownik PGP może poświadczyć klucz publiczny innego użytkownika PGP. Jednak taki certyfikat jest ważny tylko dla innego użytkownika, jeśli ten użytkownik rozpozna certyfikującego jako zaufanego wprowadzającego.

Z taką metodą certyfikacji wiąże się kilka problemów. Znalezienie łańcucha prowadzącego ze znanego i zaufanego klucza publicznego do żądanego klucza może być trudne. Ponadto może istnieć wiele łańcuchów, które mogą prowadzić do różnych kluczy dla żądanego użytkownika.

PGP może również korzystać z infrastruktury PKI z urzędem certyfikacji, a klucze publiczne mogą być certyfikowane przez CA (certyfikat X.509).

S / MIME

S / MIME to skrót od Secure Multipurpose Internet Mail Extension. S / MIME to bezpieczny standard poczty elektronicznej. Opiera się na wcześniejszym niezabezpieczonym standardzie e-mailingu zwanym MIME.

Działanie S / MIME

Podejście S / MIME jest podobne do PGP. Wykorzystuje również kryptografię klucza publicznego, kryptografię klucza symetrycznego, funkcje skrótu i ​​podpisy cyfrowe. Zapewnia podobne usługi bezpieczeństwa jak PGP do komunikacji e-mail.

Najpopularniejsze szyfry symetryczne używane w S / MIME to RC2 i TripleDES. Zwykłą metodą klucza publicznego jest RSA, a algorytm haszowania to SHA-1 lub MD5.

S / MIME określa dodatkowy typ MIME, taki jak „application / pkcs7-mime”, do umieszczania danych po zaszyfrowaniu. Cała jednostka MIME jest szyfrowana i pakowana w obiekt. S / MIME ma ustandaryzowane formaty wiadomości kryptograficznych (inne niż PGP). W rzeczywistości MIME jest rozszerzony o niektóre słowa kluczowe w celu zidentyfikowania zaszyfrowanych i / lub podpisanych części wiadomości.

S / MIME opiera się na certyfikatach X.509 do dystrybucji kluczy publicznych. Do obsługi certyfikacji wymaga hierarchicznej infrastruktury PKI odgórnej w dół.

Zatrudnialność S / MIME

Ze względu na wymaganie certyfikatu od urzędu certyfikacji do wdrożenia, nie wszyscy użytkownicy mogą korzystać z S / MIME, ponieważ niektórzy mogą chcieć zaszyfrować wiadomość za pomocą pary kluczy publiczny / prywatny. Na przykład bez zaangażowania lub kosztów administracyjnych związanych z certyfikatami.

W praktyce, chociaż większość aplikacji e-mailingowych implementuje S / MIME, proces rejestracji certyfikatu jest złożony. Zamiast tego obsługa PGP zwykle wymaga dodania wtyczki, a ta wtyczka zawiera wszystko, co jest potrzebne do zarządzania kluczami. W rzeczywistości sieć zaufania nie jest używana. Ludzie wymieniają swoje klucze publiczne na innym nośniku. Po uzyskaniu przechowują kopię kluczy publicznych osób, z którymi zwykle wymienia się e-maile.

Warstwa implementacji w architekturze sieciowej dla schematów PGP i S / MIME jest pokazana na poniższym obrazku. Oba te schematy zapewniają bezpieczeństwo komunikacji e-mail na poziomie aplikacji.

Jeden ze schematów, PGP lub S / MIME, jest używany w zależności od środowiska. Bezpieczną komunikację e-mail w sieci dostępowej można zapewnić, dostosowując się do PGP. Ze względu na bezpieczeństwo poczty e-mail w Internecie, gdzie wiadomości e-mail są wymieniane bardzo często z nowymi nieznanymi użytkownikami, S / MIME jest uważane za dobrą opcję.

Bezpieczeństwo DNS

W pierwszym rozdziale wspomnieliśmy, że osoba atakująca może wykorzystać usługę DNS Cache Poisoning do przeprowadzenia ataku na docelowego użytkownika. Domain Name System Security Extensions (DNSSEC) to standard internetowy, który może udaremnić takie ataki.

Podatność standardowego DNS

W standardowym schemacie DNS, gdy użytkownik chce połączyć się z dowolną nazwą domeny, jego komputer kontaktuje się z serwerem DNS i wyszukuje powiązany adres IP dla tej nazwy domeny. Po uzyskaniu adresu IP komputer łączy się z tym adresem IP.

W tym schemacie w ogóle nie ma procesu weryfikacji. Komputer pyta swój serwer DNS o adres powiązany z witryną internetową, serwer DNS odpowiada za pomocą adresu IP, a Twój komputer bez wątpienia akceptuje to jako uzasadnioną odpowiedź i łączy się z tą witryną.

W rzeczywistości wyszukiwanie DNS przebiega w kilku etapach. Na przykład, gdy komputer pyta o „www.tutorialspoint.com”, wyszukiwanie DNS jest wykonywane w kilku etapach -

  • Komputer najpierw pyta lokalny serwer DNS (dostarczony przez usługodawcę internetowego). Jeśli dostawca usług internetowych ma tę nazwę w swojej pamięci podręcznej, w innym przypadku przekazuje zapytanie do „katalogu strefy głównej”, gdzie może znaleźć „.com”. i odpowiedzi strefy głównej.

  • Na podstawie odpowiedzi komputer pyta o katalog „.com”, w którym może znaleźć „tutorialspoint.com”.

  • Na podstawie otrzymanych informacji komputer pyta „tutorialspoint.com”, gdzie może znaleźć www. tutorialspoint.com.

Zdefiniowany DNSSEC

Wyszukiwanie DNS, gdy jest wykonywane przy użyciu DNSSEC, obejmuje podpisywanie odpowiedzi przez podmiot odpowiadający. DNSSEC jest oparty na kryptografii klucza publicznego.

W standardzie DNSSEC każda strefa DNS ma parę kluczy publiczny / prywatny. Wszystkie informacje wysyłane przez serwer DNS są podpisane kluczem prywatnym strefy źródłowej w celu zapewnienia autentyczności. Klienci DNS muszą znać klucze publiczne strefy, aby sprawdzić podpisy. Klienci mogą być wstępnie skonfigurowani przy użyciu kluczy publicznych wszystkich domen najwyższego poziomu lub głównego serwera DNS.

W przypadku DNSSEC proces wyszukiwania przebiega w następujący sposób -

  • Gdy komputer chce zapytać strefę główną, gdzie może znaleźć domenę .com, odpowiedź jest podpisywana przez serwer strefy głównej.

  • Komputer sprawdza klucz podpisywania strefy głównej i potwierdza, że ​​jest to uprawniona strefa główna, podając prawdziwe informacje.

  • W odpowiedzi strefa główna dostarcza informacji o kluczu podpisywania serwera .com zone i jego lokalizacji, umożliwiając komputerowi kontakt z katalogiem .com i upewniając się, że jest to legalne.

  • Katalog .com dostarcza następnie klucz podpisu i informacje dla tutorialspoint.com, umożliwiając mu skontaktowanie się z google.com i sprawdzenie, czy jesteś połączony z prawdziwym tutorialspoint.com, co potwierdzają strefy nad nim.

  • Przesyłane informacje mają postać zestawu rekordów zasobów (RRSets). Przykład ustawienia RRSet dla domeny „tutorialspoint.com” na serwerze najwyższego poziomu „.com” przedstawiono w poniższej tabeli.

Nazwa domeny Czas żyć Rodzaj Wartość
tutorialspoint.com 86400 NS dns.tutorialspoint.com
dns.tutorialspoint.com 86400 ZA 36..1.2.3
tutorialspoint.com 86400 KLUCZ 3682793A7B73F731029CE2737D ...
tutorialspoint.com 86400 SIG 86947503A8B848F5272E53930C ...
  • Rekord KEY jest kluczem publicznym witryny „tutorialspoint.com”.

  • Rekord SIG to podpisany skrót serwera .com najwyższego poziomu pól NS, A i KEY w celu zweryfikowania ich autentyczności. Jego wartość to Kcom pvt (H (NS, A, KEY)).

Dlatego uważa się, że po pełnym wdrożeniu DNSSEC komputer użytkownika jest w stanie potwierdzić, że odpowiedzi DNS są uzasadnione i prawdziwe, a także uniknąć ataków DNS przeprowadzanych przez zatruwanie pamięci podręcznej DNS.

Podsumowanie

Proces zabezpieczania wiadomości e-mail zapewnia kompleksowe bezpieczeństwo komunikacji. Świadczy usługi w zakresie poufności, uwierzytelniania nadawcy, integralności wiadomości i niezaprzeczalności.

Opracowano dwa schematy bezpieczeństwa poczty e-mail: PGP i S / MIME. Oba te schematy wykorzystują kryptografię klucza tajnego i klucza publicznego.

Standardowe wyszukiwanie DNS jest podatne na ataki, takie jak spoofing DNS / poisoning cache. Zabezpieczenie wyszukiwania DNS jest możliwe dzięki zastosowaniu DNSSEC, który wykorzystuje kryptografię klucza publicznego.

W tym rozdziale omówiliśmy mechanizmy stosowane w warstwie aplikacji w celu zapewnienia bezpieczeństwa sieci w komunikacji typu end-to-end.