Jak wdrożyć bezpieczeństwo LTE poprzez szyfrowanie

Wdrożenie zabezpieczeń poprzez szyfrowanie (zarówno dane płaszczyzny kontroli (RRC), jak i dane płaszczyzny użytkownika) i ochronę integralności (tylko dane płaszczyzny kontroli (RRC)), jest to odpowiedzialność warstwy PDCP. Licznik danych PDU PDCP (znany jako „COUNT” w specyfikacji LTE) służy jako dane wejściowe do zabezpieczeń algorytmów. Wartość COUNT jest zwiększana dla każdego danych PDCP PDU podczas połączenia RRC i ma długość 32 bitów, aby zapewnić akceptowalny czas dla połączenia RRC.

W przypadku połączenia RRC zliczanie jest utrzymywane zarówno przez UE, jak i eNodeB, zliczając każdą przesłaną/odebraną jednostkę PDU danych PDCP. Aby zapewnić odporność na utratę pakietów, każde chronione dane PDCP PDU zawierają numer sekwencyjny PDCP (SN), który odpowiada najmniej znaczącym bitom zliczenia. Zatem, jeśli jeden lub więcej pakietów zostanie utraconych, prawidłową wartość licznika nowego pakietu można określić przy użyciu numeru SN PDCP. Oznacza to, że wartość licznika jest powiązana z kolejnym najwyższym licznikiem, któremu najmniej znaczące bity odpowiadają wartości SN PDCP.

Utrata synchronizacji wartości licznika pomiędzy sprzętem użytkownika a eNodeB może wtedy nastąpić, jeśli liczba pakietów odpowiadająca maksymalnemu SN zostanie utracona kolejno. W zasadzie prawdopodobieństwo wystąpienia tego typu utraty synchronizacji można zminimalizować poprzez zwiększenie długości SN, nawet przy pomiarze transmisji wartości licznika w każdym zestawie PDU danych PDCP. Spowoduje to jednak silne przeciążenie i dlatego użyte zostaną tylko najmniej znaczące bity, ponieważ SN, SN rzeczywistej długości zależy od konfiguracji i typu PDU.

To użycie licznika ma na celu ochronę przed atakiem znanym jako atak polegający na powtórzeniu, w którym osoba atakująca próbuje przechwycić pakiet, który został wcześniej obliczony przy użyciu funkcji COUNT. Zapewnia ochronę przed atakami ukierunkowanymi na wyprowadzenie modelu i klucz szyfrowania używany przez porównanie kolejnych modeli . Ze względu na użycie wartości COUNT, nawet jeśli ten sam pakiet zostanie przesłany dwukrotnie, model szyfru będzie całkowicie nieskorelowany pomiędzy dwiema transmisjami, co zapobiegnie możliwym naruszeniom bezpieczeństwa.

Ochrona integralności odbywa się poprzez dodanie pola znanego jako „Kod uwierzytelnienia wiadomości dla integralności” (MAC-I) dla każdej wiadomości RRC. Kod ten jest oparty na kluczach pochodnych warstwy dostępu (AS), identyfikatorze wiadomości, nośniku radiowym w kierunku (tzn. łącze w górę lub w dół) i wartości COUNT.

Jeśli sprawdzenie integralności nie powiedzie się, wiadomość zostanie odrzucona, a dla warstwy RRC zostanie wyświetlony komunikat o niepowodzeniu weryfikacji integralności, w związku z czym można wykonać procedurę ponownego połączenia RRC. Szyfrowanie odbywa się poprzez wykonanie operacji XOR na wiadomości i strumieniu szyfrowania, który jest generowany przez algorytm szyfrowania na podstawie wyprowadzonych kluczy AS, kierunku tożsamości nośnika radiowego (tj. łącza w górę lub w dół) oraz wartości COUNT.

Szyfrowanie można zastosować do PDU danych PDCP. PDU sterujące PDCP (takie jak informacje zwrotne ROHC lub raporty o stanie PPPC) nie są ani szyfrowane, ani chronione pod kątem integralności. Z wyjątkiem identycznych retransmisji, ta sama wartość COUNT nie może być używana kilka razy w celu zabezpieczenia klucza. ENodeB jest odpowiedzialny za zapobieganie ponownemu zliczeniu tej samej kombinacji klucza opartego na tożsamości nośnika radiowego i algorytmu AS. Aby uniknąć takiego ponownego wykorzystania, eNodeB może na przykład używać różnych identyfikatorów nośników radiowych, kolejno przenosząc jednostki, wyzwalać komórkę lub powodować zmianę stanu podłączonego UE na bezczynny i ponownie podłączony.