Bosch Security Systems Systemy wizyjne Uwierzytelnianie w sieci - 802.1x Zabezpieczenie krawędzi sieci - dokument techniczny 14 września 2015 r. Zabezpieczenie krawędzi sieci Urządzenia zabezpieczające znajdują się przede wszystkim na fizycznej krawędzi sieci. Zwłaszcza urządzenia wykrywające, takie jak kamery, instalowane są w miejscach publicznie dostępnych. Ponieważ te urządzenia są podłączone do sieci, zwiększa się ryzyko niepożądanego dostępu: różne osoby mogą podejmować próby odłączenia urządzenia zabezpieczającego i podłączenia własnego sprzętu w celu uzyskania dostępu do sieci lub dołączenia urządzenia przekazującego, aby spróbować tak zwanego ataku man-in-the-middle. Istnieje kilka sposobów ograniczania takich prób: Upewnić się, że urządzenie spełnia wymagania dotyczące wytrzymałości fizycznej i zarządzania okablowaniem: urządzenia firmy Bosch posiadające klasę ochrony IP66 lub IP67 mają punkt podłączenia do sieci umieszczony wewnątrz swojej obudowy. Oznacza to, że muszą one być fizycznie rozmontowane, aby uzyskać dostęp do punktu podłączenia do sieci. Można je dodatkowo zabezpieczyć przy użyciu wkrętów odpornych na manipulowanie. Uwierzytelnić urządzenie w sieci przed zezwoleniem mu na dostęp do zasobów sieciowych: istnieje kilka sposobów zapewnienia, by tylko uwierzytelnione urządzenia miały dostęp do sieci. Sprzęt firmy Bosch obsługuje uwierzytelnianie w oparciu o login i hasło użytkownika (protokół 802.1x). Oprócz 802.1x możliwe jest zastosowanie protokołu EAP-TLS, który zabezpiecza cały proces uwierzytelniania. Strona uwierzytelniająca Serwer uwierzytelniania EAP przez RADIUS EAP przez EAPOL Suplikant System zarządzania obrazem Pamięć Rysunek 1 - Dane w protokole EAP (Extensible Authentication Protocol) są najpierw zamykane w ramkach EAPOL pomiędzy suplikantem a stroną uwierzytelniającą, a następnie ponownie zamykane pomiędzy stroną uwierzytelniającą a serwerem uwierzytelniania przy użyciu protokołów RADIUS lub Diameter.
2 Bosch Security Systems Systemy wizyjne IEEE 802.1X IEEE 802.1x [1] jest standardem opublikowanym przez Institute of Electrical and Electronics Engineers Standards Association (Stowarzyszenie Normalizacyjne Instytutu Inżynierów Elektryków i Elektroników). Organizacja ta w ramach IEEE rozwija światowe standardy w wielu gałęziach przemysłu, w tym w energetyce, biomedycynie i ochronie zdrowia, informatyce, telekomunikacji, transporcie, nanotechnologii, bezpieczeństwie informacji i wielu innych. Ten konkretny standard jest częścią grupy protokołów sieciowych IEEE 802.1 i zapewnia mechanizm uwierzytelniania, aby zapobiec uzyskaniu dostępu do zasobów sieciowych przez nieautoryzowane urządzenia. Protokół ten obejmuje trzy rodzaje elementów: Element, który chce uzyskać dostęp do zasobów sieciowych jest nazywany suplikantem, na przykład kamera monitoringu. Element, który sprawdza, czy suplikant może uzyskać dostęp do zasobów sieciowych jest nazywany stroną uwierzytelniającą. Najczęściej jest to przełącznik z możliwością zarządzania, router lub bezprzewodowy punkt dostępowy. Element, który faktycznie kieruje procesem uwierzytelniania nazywany jest serwerem uwierzytelniania. Serwer uwierzytelniania zawiera informacje, które są wykorzystywane do określenia, czy suplikant może czy nie może uzyskać dostępu do zasobów sieciowych. Zazwyczaj jest to serwer, który obsługuje protokół RADIUS, protokół sieciowy zapewniający scentralizowane uwierzytelnianie, autoryzację i rozliczanie. Protokół RADIUS należy do standardów organizacji IETF (Internet Engineering Task Force). Extensible Authentication Protocol Protokół Extensible Authentication Protocol [2] stanowi system uwierzytelniania, który współpracuje z wieloma metodami uwierzytelniania. Protokół EAP nie wymaga numeru IP i zazwyczaj działa bezpośrednio na warstwach łączy danych jako protokół Point-to-Point (PPP) lub IEEE 802. EAP zapewnia własną obsługę zduplikowanych eliminacji i retransmisji, ale jest uzależniony od gwarancji poleceń z niższych warstw. Typowa procedura uwierzytelniania EAP przy użyciu protokołu RADIUS [3] składa się z czterech etapów: 1. Inicjalizacja: Po wykryciu przez stronę uwierzytelniającą, że urządzenie jest podłączone do jego portu, port ten jest ustawiany w stanie niedozwolonym i będzie zezwalał tylko na ruch 802.1X Pozostały ruch, taki jak UDP lub TCP jest niedozwolony i będzie odrzucany. 2. Rozpoczęcie: Strona uwierzytelniająca prosi o podanie tożsamości suplikanta. Po otrzymaniu tej informacji strona uwierzytelniająca przesyła ją do serwera uwierzytelniania za pomocą protokołu RADIUS. 3. Negocjacja: Serwer uwierzytelniania weryfikuje tożsamość suplikanta i wysyła pytanie z powrotem do suplikanta poprzez stronę uwierzytelniającą. To pytanie zawiera także metodę uwierzytelniania, która może być oparta o nazwę użytkownika i hasło. 4. Uwierzytelnienie:
3 Bosch Security Systems Systemy wizyjne Serwer uwierzytelniania i suplikant uzgadniają metodę uwierzytelniania i suplikant odpowiada zgodnie z odpowiednią metodą poprzez dostarczenie skonfigurowanych poświadczeń. Jeśli autoryzacja się powiedzie, strona uwierzytelniająca zezwala suplikantowi na dostęp do określonych zasobów sieciowych. Strona uwierzytelniająca Serwer uwierzytelniania Suplikant Nowe połączenie EAP-żądanie tożsamości EAP-podanie tożsamości RADIUS żądanie dostępu EAP-podanie tożsamości EAP-żądanie EAP odpowiedź EAP sukces RADIUS żądanie dostępu RADIUS udzielenie dostępu Rysunek 2 - Schemat przebiegu uwierzytelniania 802.1X Sam standard 802.1x nie zapewnia bezpiecznej komunikacji pomiędzy suplikantem a serwerem uwierzytelniania. W związku z tym nazwa użytkownika i hasło mogą zostać przechwycone w sieci. Aby zapewnić bezpieczną komunikację, standard 802.1x może użyć protokołu EAP-TLS. Extensible Authentication Protocol - Transport Layer Security Protokół Extensible Authentication Protocol (EAP), zapewnia obsługę wielu metod uwierzytelniania. Protokół Transport Layer Security (TLS) obejmuje wzajemne uwierzytelnianie, negocjowanie ochrony integralności szyfrowania danych oraz wymiany kluczy między dwoma punktami końcowymi. EAP-TLS [4] obsługuje wzajemne uwierzytelnianie na podstawie certyfikatów i generowanie klucza. Innymi słowy, protokół EAP-TLS zamyka w sobie proces, w którym zarówno serwer jak i klient przesyłają sobie nawzajem certyfikaty. Certyfikaty Certyfikaty cyfrowe służą do weryfikacji, czy klucz publiczny należy do określonego użytkownika lub urządzenia, innymi słowy do sprawdzenia, czy użytkownik lub urządzenie rzeczywiście mówi prawdę o swojej tożsamości. Certyfikaty te są generowane przez urząd certyfikacji (CA) w oparciu o szczegółowe dane dotyczące użytkownika lub urządzenia. Urząd certyfikacji musi być podmiotem zaufanym w ramach całej infrastruktury i zapewniać, że certyfikaty wykorzystywane w infrastrukturze mogą być zweryfikowane. Urzędowi certyfikacji, którego zabezpieczenia zostały złamane, nie można już ufać i dlatego nie może on weryfikować tożsamości użytkownika lub urządzenia.
4 Bosch Security Systems Systemy wizyjne Zarządzanie certyfikatami, asercją, rozszerzaniem i unieważnianiem jest zazwyczaj obsługiwane w ramach infrastruktury klucza publicznego (Public Key Infrastructure, PKI) [5]. Certyfikat klienta EAP-TLS Certyfikat klienta EAP-TLS wiąże tożsamość klienta z kluczem publicznym. Ten klucz publiczny (jako część certyfikatu) jest wysyłany do serwera i używany do szyfrowania komunikacji między klientem a serwerem. Wymóg dotyczący certyfikatu po stronie klienta daje protokołowi EAP-TLS siłę uwierzytelniania. Po przyjęciu tego wymogu, hasło przejęte przez intruza nie wystarczy, aby włamać się do systemu używającego protokołu EAP-TLS, ponieważ musi on jeszcze posiadać certyfikat klienta. Najwyższy dostępny poziom bezpieczeństwa jest zachowany wtedy, gdy klucze prywatne z certyfikatu klienta są umieszczone w kartach chipowych lub w modułach TPM w urządzeniach, takich jak kamery bezpieczeństwa firmy Bosch. Dzieje się tak dlatego, że nie ma sposobu, aby ukraść klucz prywatny odpowiadający certyfikatowi po stronie klienta z karty inteligentnej lub TPM bez kradzieży samej karty - lub kamery bezpieczeństwa. W tym ostatnim przypadku nie można jej wykorzystać w inny sposób, jak tylko przez podłączenie urządzenia do sieci, dla której jest dedykowane. Zaufany certyfikat EAP-TLS Gdy klientowi zostaje przedstawiony certyfikat serwera, próbuje on dopasować urząd certyfikacji serwera (który jest częścią certyfikatu) do swojej listy zaufanych urzędów certyfikacji. Jeśli wydający urząd certyfikacji jest zaufany, klient sprawdza, czy certyfikat jest autentyczny i nie został naruszony. Na koniec klient akceptuje certyfikat jako dowód tożsamości serwera.
5 Bosch Security Systems Systemy wizyjne Certyfikaty w kamerach Bosch Wszystkie kamery firmy Bosch (z oprogramowaniem sprzętowym w wersji FW 6.10 lub nowszym) używają magazynu certyfikatów, który można znaleźć w sekcji Service konfiguracji kamery. Zarówno certyfikaty EAP-TLS klienta jak i zaufane certyfikaty EAP-TLS muszą być dodawane do magazynu za pomocą przycisku Add w sekcji File list. Po zakończeniu przesyłania certyfikaty można wybierać z listy Usage list. Aby aktywować wykorzystanie certyfikatów, kamera musi zostać uruchomiona ponownie, co odbywa się automatycznie po naciśnięciu przycisku Set, a protokół 802.1x należy aktywować w pozycji menu Network->Advanced po wprowadzeniu poświadczeń. Rysunek 3 - przykład: Certyfikaty EAP/TLS przechowywane w kamerze Bosch (FW6.11) Zabezpieczenie w sejfie Certyfikaty są przechowywane w układzie scalonym, podobnym do układu używanego w przypadku kart inteligentnych, tzw. Trusted Platform Module (TPM). Układ ten pełni funkcję sejfu dla danych krytycznych, chroniąc certyfikaty, klucze, licencje, itp. przed nieupoważnionym dostępem, nawet jeśli kamera została rozbita. Certyfikaty są akceptowane w formacie *.pem. Mogą one być przesyłane w jednym połączonym pliku lub z podziałem na certyfikaty i klucze i przesyłane jako oddzielne pliki.
6 Bosch Security Systems Systemy wizyjne Dodatek Niniejszy dodatek zawiera opis sposobu, w jaki klucze publiczne i prywatne są używane do szyfrowania komunikacji sieciowej. Szyfrowanie kluczem publicznym Rozmiary kluczy publicznych wahają się od 512 bitów do 2048 bitów. Ze względu na duże rozmiary, klucze publiczne są bardzo powolne i zwykle nie nadają się do szyfrowania danych masowych. Niemniej jednak klucze publiczne są szeroko stosowane do uwierzytelniania użytkowników i urządzeń. Do przykładów należą: certyfikaty cyfrowe, RSA Jim Hello Jane! Jane klucz prywatny Jane szyfrowanie odszyfrowanie klucz publiczny Jane Hello Jane! Funkcje mieszające są wykorzystywane do świadczenia usług integralności. Algorytm mieszający musi być jednokierunkowy; z wartości skrótu nie da się odtworzyć oryginalnych danych. Funkcja mieszająca musi być również odporna na kolizje. Kolizja występuje wtedy, gdy dwie różne wartości wejściowe dają taką samą wartość wyjściową. Przede wszystkim, nie powinno być możliwe przewidzenie różnej wartości wejściowej, która da taką samą wartość wyjściową. Najbezpieczniejszą funkcją mieszającą, która jest powszechnie stosowana w chwili obecnej, jest SHA-1. Algorytm SHA-1 jest lepszy od MD5, chociaż MD5 jest nadal powszechnie obsługiwany. Dzięki coraz większej dostępnej mocy obliczeniowej przewagę zyskuje SHA-256 ze względu na zapewnienie większego bezpieczeństwa. Kamery Bosch pozwalają na wybór jednej z tych trzech funkcji, na przykład dla uwierzytelniania wideo. Funkcje te generują wartości wyjściowe o stałej długości, co jest przydatne podczas pracy z pakietami IP, ponieważ koszty ogólne przesyłania wartości skrótów są przewidywalne. Uwierzytelnienie źródła odbywa się metodą HMAC (Hashed Method Authentication Code). 1. Nadawca dołącza do danych tajny klucz współdzielony 2. Nadawca stosuje do danych funkcję mieszającą 3. Odbiorca musi dołączyć tę samą wartość klucza do danych przed zastosowaniem funkcji mieszającej Sam klucz nie jest nigdy przesyłany wraz z danymi.
7 Bosch Security Systems Systemy wizyjne Protokół uzgadniania kluczy Diffiego-Hellmana Algorytm Diffie Hellman (DH) jest metodą, w której obie strony mogą uzgodnić tajny klucz, który jest znany tylko im. Siła tej techniki polega na tym, że umożliwia ona uczestnikom ustalenie tajnej wartości przy użyciu niezabezpieczonych środków komunikacji, bez wymieniania się samą wartością. Tajna wartość jest również niemożliwa do odtworzenia, jeśli zostanie w jakiś sposób przechwycona. Grupy DH składają się z 5 grup bardzo dużych liczb pierwszych (i generatora), stosowanych jako moduł dla algorytmu DH. Sprzęt Juniper obsługuje grupy 1, 2 i 5: Grupa 1 używa 768-bitowej liczby pierwszej Grupa 2 używa 1024-bitowej liczby pierwszej Grupa 5 używa 1535-bitowej liczby pierwszej Liczba losowa, klucz prywatny; 4 Wspólna liczba, aplikacja negocjowana: 2 Liczba losowa, klucz prywatny: 5 Im większa jest liczba pierwsza, tym silniejszy jest klucz i tym intensywniejsze są obliczenia. Używając tej samej grupy DH, każde urządzenie tworzy unikatową parę kluczy publiczny/prywatny. Klawisze te są powiązane matematycznie przy użyciu algorytmu DH. Klucz publiczny: 2*4 = 16 Klucz publiczny: 2*5 = 32 Inny klucz publiczny: 32 Inny klucz publiczny: 16 Wartości klucza publicznego są wymieniane przez sieć 32*4 = 1.048.576 16*5 = 1.048.576 Następnie każdy z uczestników podstawia wartość swojego lokalnego klucza prywatnego i otrzymanego klucza publicznego do algorytmu DH, aby obliczyć wspólny klucz sesji Sam klucz sesji nie jest nigdy przekazywany przez sieć Aby dać ogólne pojęcie, poniżej przedstawiono 768-bitową, czyli 232-cyfrową liczbę używaną przez grupę 1, jeśli jest liczbą pierwszą: 3246872364872864762746854468744382736878321218721387468765837246823762876834724368763874 2187412864757134913874912834712983476378321538479385413287498375813274974382174893749812 74897348571981374981379487918374193847193547198749187341
8 Bosch Security Systems Systemy wizyjne Bibliografia 1 802.1x, IEEE standard for port-based Network Access Control http://www.ieee802.org/1/pages/802.1x-2004.html 2 RFC 3748, Extensible Authentication Protocol (EAP), https://tools.ietf.org/html/rfc3748 3 RFC 3580, IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines https://tools.ietf.org/html/rfc3580 4 RFC 5216, The EAP-TLS Authentication Protocol, http://www.ietf.org/rfc/rfc5216.txt 5 RFC 3280, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile https://www.ietf.org/rfc/rfc3280.txt Bosch Sicherheitssysteme GmbH Robert-Bosch-Ring 5 85630 Grasbrunn Niemcy www.boschsecurity.com Bosch Sicherheitssysteme GmbH, 2015