Administracja IT i DevOps

Laboratorium 5G krok po kroku: Open5GS, UERANSIM i Wireshark

Mężczyzna przy biurku wskazuje dane na jednym z monitorów z otwartymi oknami aplikacji.
15 października 2026|12 minut czytania
Spis treści

Laboratorium 5G to kompletna sieć 5G Standalone uruchomiona na jednej maszynie wirtualnej, bez żadnego nadawania radiowego. Open5GS zapewnia rdzeń 5G (AMF, SMF, UPF, AUSF, UDM, NRF i pozostałe funkcje), UERANSIM symuluje stację bazową gNB i urządzenie UE, a Wireshark pozwala obejrzeć każdy komunikat: NGAP, NAS, PFCP, GTP-U i HTTP/2. To najszybszy sposób, żeby zobaczyć na własne oczy procedury opisane w specyfikacjach 3GPP.

W tym przewodniku zbudujesz laboratorium od zera, zarejestrujesz urządzenie w sieci, zestawisz sesję danych i przeanalizujesz ruch. Na koniec wykonasz pięć ćwiczeń, które pokazują najważniejsze mechanizmy bezpieczeństwa 5G w praktyce. Teorię do każdego kroku znajdziesz w przewodniku po architekturze sieci 5G.

Najważniejsze w skrócie

  • Wystarczy jedna maszyna wirtualna z Ubuntu. Wszystkie elementy komunikują się po adresach pętli zwrotnej 127.0.0.x, więc cały ruch przechwycisz na interfejsie lo.
  • Nic nie nadaje w eterze. UERANSIM symuluje łącze radiowe po IP. Laboratorium nie wymaga pozwoleń radiowych i nie zakłóca żadnej sieci.
  • Domyślna konfiguracja Open5GS jest laboratoryjna, nie produkcyjna. AMF preferuje algorytm NEA0 (brak szyfrowania NAS), funkcje rdzenia rozmawiają po HTTP bez TLS, a UERANSIM wysyła identyfikator w schemacie null. Dzięki temu wszystko widać w Wiresharku, ale w produkcji każde z tych ustawień trzeba zmienić.
  • Pięć ćwiczeń: analiza rejestracji, nieudane uwierzytelnienie, sesja PDU i tunel GTP-U, ruch SBI bez TLS oraz włączenie ochrony SUCI (Profile A).

Z czego składa się laboratorium 5G?

ElementProjektOdpowiednik w prawdziwej sieciDomyślny adres w labie
Rdzeń 5G (5GC)Open5GSRdzeń operatora lub sieci prywatnejAMF: 127.0.0.5 (NGAP, SCTP 38412); UPF: 127.0.0.7 (GTP-U, UDP 2152; PFCP); funkcje SBI na porcie 7777
Stacja bazowa gNBUERANSIM nr-gnbStacja bazowa 5G (bez warstwy radiowej)127.0.0.1
Urządzenie UEUERANSIM nr-ueTelefon, modem, czujnik z kartą SIMInterfejs uesimtun0, adres z puli 10.45.0.0/16
Baza abonentówMongoDBBaza UDR operatoralocalhost
Analiza ruchuWireshark / tsharkSonda w sieci operatoraInterfejs lo

Różnica względem prawdziwej sieci jest jedna, ale istotna: UERANSIM nie implementuje warstwy fizycznej radia. Procedury RRC, NAS, NGAP, PFCP i GTP-U przebiegają jednak zgodnie ze standardem, więc to, co zobaczysz w Wiresharku, odpowiada temu, co dzieje się w produkcyjnym rdzeniu.

Czego potrzebujesz przed startem?

  • Maszyny wirtualnej z Ubuntu 22.04 LTS (dokumentacja Open5GS opisuje instalację MongoDB właśnie dla tej wersji). Ten przewodnik zakłada, że wszystkie elementy działają na jednej maszynie.
  • Uprawnień administratora (sudo) i dostępu do internetu w czasie instalacji.
  • Migawki (snapshotu) maszyny przed rozpoczęciem ćwiczeń, żeby w każdej chwili wrócić do czystego stanu.
  • Izolacji: laboratorium nie powinno być osiągalne z sieci firmowej ani z internetu. Domyślne hasła, brak TLS i brak szyfrowania są tu celowe, ale tylko w izolowanym środowisku.

Krok 1: Jak zainstalować MongoDB i Open5GS?

Open5GS przechowuje dane abonentów w MongoDB. Najpierw instalujesz bazę, potem rdzeń z oficjalnego repozytorium PPA.

MongoDB (według dokumentacji Open5GS, wersja 8.0 dla Ubuntu 22.04):

sudo apt update
sudo apt install -y gnupg curl
curl -fsSL https://pgp.mongodb.com/server-8.0.asc | \
  sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | \
  sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod

Open5GS:

sudo add-apt-repository ppa:open5gs/latest
sudo apt update
sudo apt install open5gs

Pakiet instaluje każdą funkcję rdzenia jako osobną usługę systemd (np. open5gs-amfd, open5gs-smfd, open5gs-upfd). Konfiguracje znajdziesz w /etc/open5gs/, a logi w /var/log/open5gs/.

Routing ruchu z UE do internetu. UPF przydziela urządzeniom adresy z puli 10.45.0.0/16 na interfejsie ogstun. Żeby ping z UE wyszedł poza maszynę, włącz przekazywanie pakietów i NAT:

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE

Jeśli na maszynie działa zapora ufw, może blokować ten ruch. Dokumentacja Open5GS opisuje, jak to sprawdzić.

Panel WWW (opcjonalnie). Open5GS ma panel do zarządzania abonentami. Wymaga Node.js (dokumentacja używa wersji 20) i instaluje się poleceniem:

curl -fsSL https://open5gs.org/open5gs/assets/webui/install | sudo -E bash -

Panel działa pod adresem http://localhost:9999, a domyślne konto to admin z hasłem 1423. Zmień hasło od razu po zalogowaniu, nawet w labie.

Krok 2: Jak dodać abonenta do Open5GS?

Sieć wpuści tylko urządzenie, którego dane (IMSI, klucz K i OPc) zna UDM. Domyślny plik konfiguracyjny UE w UERANSIM zawiera gotowe wartości testowe, więc najprościej dodać do bazy dokładnie tego abonenta.

ParametrWartość testowa (z config/open5gs-ue.yaml w UERANSIM)
IMSI999700000000001 (MCC 999, MNC 70)
Klucz K465B5CE8B199B49FAA5F0A2EE238A6BC
OPcE8ED289DEBA952E4283B54E88E6183CA
WycinekSST 1, DNN internet

Najszybciej zrobisz to skryptem open5gs-dbctl z repozytorium Open5GS (korzysta z mongosh, instalowanego razem z mongodb-org):

wget https://raw.githubusercontent.com/open5gs/open5gs/main/misc/db/open5gs-dbctl
chmod +x open5gs-dbctl
./open5gs-dbctl add 999700000000001 465B5CE8B199B49FAA5F0A2EE238A6BC E8ED289DEBA952E4283B54E88E6183CA

Polecenie add tworzy abonenta z wartościami domyślnymi, w tym DNN internet i wycinkiem SST 1. Alternatywnie dodasz go ręcznie w panelu WWW.

Uwaga: to publicznie znane klucze testowe. Nigdy nie używaj ich poza laboratorium.

Krok 3: Jak zbudować UERANSIM?

UERANSIM kompiluje się ze źródeł. Według dokumentacji projektu wymaga CMake 3.17 lub nowszego, a starszy CMake z repozytorium apt nie wystarczy, dlatego instaluje się go przez snap:

sudo apt install make gcc g++ libsctp-dev lksctp-tools iproute2
sudo snap install cmake --classic
cd ~
git clone https://github.com/aligungr/UERANSIM
cd ~/UERANSIM
make

Po kompilacji w katalogu ~/UERANSIM/build znajdziesz programy nr-gnb (stacja bazowa), nr-ue (urządzenie), nr-cli (konsola do sterowania) i nr-binder (narzędzie do kierowania ruchu aplikacji przez połączenie UE).

Domyślne pliki config/open5gs-gnb.yaml i config/open5gs-ue.yaml są już zgodne z domyślną konfiguracją Open5GS: ten sam PLMN 999/70, AMF pod adresem 127.0.0.5 na porcie 38412, wycinek SST 1 i DNN internet. Nie musisz nic zmieniać.

Krok 4: Jak zarejestrować UE i zestawić sesję PDU?

Uruchom stację bazową i urządzenie w dwóch osobnych terminalach:

# Terminal 1: stacja bazowa gNB (łączy się z AMF przez NGAP)
cd ~/UERANSIM
./build/nr-gnb -c config/open5gs-gnb.yaml


# Terminal 2: urządzenie UE (wymaga uprawnień do utworzenia interfejsu TUN)
cd ~/UERANSIM
sudo ./build/nr-ue -c config/open5gs-ue.yaml

W logach gNB powinno pojawić się zestawienie połączenia NG z AMF, a w logach UE kolejno: rejestracja, uwierzytelnienie, Security Mode, zakończona rejestracja i zestawiona sesja PDU. Po zestawieniu sesji UE tworzy interfejs uesimtun0 z adresem z puli 10.45.0.0/16.

Sprawdź połączenie i stan urządzenia:

ip addr show uesimtun0                 # adres przydzielony przez SMF
ping -I uesimtun0 8.8.8.8              # ruch idzie tunelem GTP-U przez UPF
./build/nr-cli --dump                  # lista działających UE i gNB
./build/nr-cli imsi-999700000000001 --exec "status"
./build/nr-cli imsi-999700000000001 --exec "ps-list"

Konsola nr-cli udostępnia też polecenia, które przydadzą się w ćwiczeniach, m.in. ps-establish (nowa sesja PDU), ps-release (zwolnienie sesji) i deregister normal (wyrejestrowanie). Logi rdzenia znajdziesz w /var/log/open5gs/amf.log, smf.log i upf.log.

Krok 5: Jak przechwycić i odczytać ruch 5G w Wiresharku?

Ponieważ wszystkie elementy działają na jednej maszynie, cały ruch płynie przez interfejs pętli zwrotnej. Uruchom przechwytywanie przed startem gNB i UE, żeby zobaczyć pełną procedurę od pierwszego komunikatu:

sudo tshark -i lo -w lab5g.pcap \
  -f "sctp or udp port 2152 or udp port 8805 or tcp port 7777"

Plik lab5g.pcap otwórz w Wiresharku i użyj filtrów wyświetlania:

FiltrCo pokazujeInterfejs
ngapSygnalizacja między gNB a AMFN2 (SCTP 38412)
nas-5gsKomunikaty NAS między UE a AMF (wewnątrz NGAP)N1
pfcpSterowanie UPF przez SMFN4 (UDP 8805)
gtpTunele GTP-U z ruchem użytkownikaN3 (UDP 2152)
http2Wywołania API między funkcjami rdzeniaSBI (TCP 7777)

Odczytanie zabezpieczonych komunikatów NAS. Po procedurze Security Mode komunikaty NAS są chronione. W domyślnej konfiguracji Open5GS AMF preferuje szyfrowanie NEA0, czyli „szyfrowanie zerowe”: wiadomości mają ochronę integralności, ale ich treść nie jest szyfrowana. Wireshark domyślnie i tak pokazuje je jako zaszyfrowane. Włącz preferencję nas-5gs.null_decipher (w Wiresharku: Preferences, Protocols, NAS-5GS), aby zdekodować ich zawartość. W tshark:

tshark -r lab5g.pcap -o nas-5gs.null_decipher:TRUE -Y "nas-5gs"

Ta preferencja działa tylko dla NEA0. Komunikatów zaszyfrowanych algorytmami NEA1, NEA2 lub NEA3 nie odczytasz w ten sposób.

Ruch SBI. Funkcje Open5GS rozmawiają po HTTP/2 bez TLS na porcie 7777. Jeśli Wireshark nie rozpozna go automatycznie, użyj opcji Decode As i wskaż HTTP2 dla portu TCP 7777.

Pięć ćwiczeń, które pokazują bezpieczeństwo 5G w praktyce

Każde ćwiczenie ma ten sam układ: cel, kroki, co obserwować i co z tego wynika dla sieci produkcyjnej. Przed każdym ćwiczeniem zatrzymaj UE (Ctrl+C) i uruchom przechwytywanie od nowa.

Ćwiczenie 1: Jak przebiega rejestracja i co widać w eterze?

Cel: prześledzić rejestrację od Registration Request do Registration Complete.

Kroki: uruchom przechwytywanie, potem gNB i UE. W Wiresharku ustaw filtr nas-5gs i włącz nas-5gs.null_decipher.

Co obserwować:

  • W Registration Request pole SUCI ma identyfikator schematu ochrony 0 (null scheme). To ustawienie z pliku UE (protectionScheme: 0), więc numer abonenta (MSIN) jest widoczny jawnie.
  • Authentication Request zawiera RAND i AUTN, a Authentication Response wartość RES*.
  • W Security Mode Command sprawdź wybrane algorytmy. Przy domyślnej konfiguracji AMF (ciphering_order: [NEA0, NEA1, NEA2]) zobaczysz szyfrowanie NEA0 i integralność NIA2.
  • Registration Accept przekazuje urządzeniu 5G-GUTI i listę dozwolonych wycinków.

Wniosek dla produkcji: schemat null i NEA0 to ustawienia laboratoryjne. W sieci produkcyjnej SUCI powinno używać Profile A lub B, a lista algorytmów szyfrowania w AMF powinna zaczynać się od NEA2 lub NEA1. Więcej w artykule Ataki na sieć 5G.

Ćwiczenie 2: Co się dzieje, gdy klucz abonenta się nie zgadza?

Cel: zobaczyć, jak 5G-AKA chroni przed urządzeniem z nieprawidłowym kluczem.

Kroki: skopiuj plik UE (cp config/open5gs-ue.yaml config/ue-zly-klucz.yaml), zmień w kopii jeden znak w polu key i uruchom UE z tym plikiem.

Co obserwować:

  • Sieć wysyła Authentication Request jak zwykle.
  • UE nie może poprawnie zweryfikować AUTN, bo liczy go innym kluczem, i odpowiada komunikatem Authentication Failure z przyczyną MAC failure (kod 5GMM #20).
  • Sieć kończy procedurę odrzuceniem. Rejestracja się nie udaje, a w amf.log pojawia się wpis o nieudanym uwierzytelnieniu.

Wniosek dla produkcji: nieudane uwierzytelnienia to ważny sygnał dla SOC. Pojedyncze zdarzenie bywa błędem konfiguracji karty, ale seria z wielu urządzeń wymaga sprawdzenia. Upewnij się, że takie wpisy z logów AMF trafiają do SIEM.

Ćwiczenie 3: Jak wygląda sesja PDU i tunel GTP-U?

Cel: prześledzić zestawienie sesji danych i zobaczyć ruch użytkownika w tunelu.

Kroki: po rejestracji wykonaj ping -I uesimtun0 8.8.8.8. W Wiresharku przejrzyj kolejno filtry pfcp, ngap i gtp.

Co obserwować:

  • PFCP Session Establishment Request od SMF do UPF z regułami PDR (wykrywanie pakietów) i FAR (przekazywanie).
  • PDU Session Resource Setup w NGAP, czyli moment, w którym gNB dostaje informacje o tunelu.
  • Pakiety GTP-U z identyfikatorem tunelu (TEID), a w środku zwykłe pakiety ICMP z adresu UE.

Wniosek dla produkcji: GTP-U nie szyfruje ruchu. Treść pakietów użytkownika jest czytelna dla każdego, kto ma dostęp do sieci między gNB a UPF. Dlatego standard wymaga obsługi IPsec na interfejsie N3, a PFCP (N4) musi być dostępny wyłącznie dla SMF i UPF.

Ćwiczenie 4: Dlaczego ruch SBI wymaga TLS?

Cel: zobaczyć, jakie informacje wymieniają funkcje rdzenia, gdy SBI działa bez TLS.

Kroki: w przechwyconym ruchu ustaw filtr http2 (w razie potrzeby Decode As dla portu 7777) i znajdź wywołania z procedury rejestracji, np. ścieżki zaczynające się od /nausf-auth/ i /nudm-.

Co obserwować:

  • Rejestrację funkcji w NRF i odkrywanie usług.
  • Wywołania uwierzytelnienia między AMF, AUSF i UDM oraz pobieranie danych subskrypcji.
  • Pełną treść żądań i odpowiedzi JSON, czytelną bez żadnych kluczy.

Wniosek dla produkcji: w laboratorium brak TLS ułatwia naukę, ale w produkcji oznacza, że każdy z dostępem do sieci rdzenia widzi dane abonentów i wymianę związaną z uwierzytelnieniem. TS 33.501 wymaga, by wszystkie funkcje wspierały wzajemnie uwierzytelniony TLS. Szczegóły opisujemy w artykule Rdzeń 5G jako mikroserwisy.

Ćwiczenie 5: Jak włączyć ochronę SUCI (Profile A)?

Cel: zamienić schemat null na szyfrowanie identyfikatora kluczem publicznym sieci i porównać oba żądania rejestracji.

Kroki:

  1. Sprawdź, czy w /etc/open5gs/hnet/ istnieje klucz curve25519-1.key, który domyślna konfiguracja UDM (/etc/open5gs/udm.yaml) przypisuje do identyfikatora 1 i schematu 1 (Profile A). Jeśli go nie ma, wygeneruj go poleceniem z komentarza w pliku konfiguracyjnym UDM i zrestartuj UDM:

ls /etc/open5gs/hnet/
sudo openssl genpkey -algorithm X25519 -out /etc/open5gs/hnet/curve25519-1.key
sudo systemctl restart open5gs-udmd

  • Odczytaj klucz publiczny w postaci 64 znaków szesnastkowych (to ostatnie 32 bajty klucza publicznego X25519 zapisanego w formacie DER):

sudo openssl pkey -in /etc/open5gs/hnet/curve25519-1.key -pubout -outform DER \
  | tail -c 32 | xxd -p -c 32

  • W pliku UE ustaw protectionScheme: 1, homeNetworkPublicKeyId: 1 i wpisz odczytany klucz w homeNetworkPublicKey.
  • Uruchom UE ponownie i przechwyć rejestrację.

Co obserwować: w Registration Request identyfikator schematu ochrony ma wartość 1 (ECIES Profile A), a zamiast jawnego MSIN pole SUCI zawiera klucz efemeryczny, szyfrogram i znacznik MAC. Rejestracja kończy się sukcesem, bo UDM odszyfrowuje SUCI swoim kluczem prywatnym.

Wniosek dla produkcji: prywatność identyfikatora w 5G działa tylko wtedy, gdy ktoś wygeneruje klucze sieci domowej, zapisze klucz publiczny na kartach i ochroni klucz prywatny. W sieciach prywatnych to ustawienie często zostaje na schemacie null.

Najczęstsze problemy i jak je rozwiązać

ObjawPrawdopodobna przyczynaCo sprawdzić
gNB nie łączy się z AMFAMF nie działa albo nasłuchuje na innym adresiesystemctl status open5gs-amfd, sekcja ngap w /etc/open5gs/amf.yaml, amf.log
Rejestracja odrzucona od razuNiezgodny PLMN lub abonent nie istnieje w bazieMCC/MNC w amf.yaml, pliku gNB i pliku UE; IMSI w bazie
Błąd uwierzytelnieniaInny klucz K lub OPc w bazie i w pliku UEWartości key, op i opType w pliku UE
Brak interfejsu uesimtun0UE uruchomione bez uprawnień albo sesja PDU nie powstałasudo, logi UE i smf.log, DNN internet i SST 1 u abonenta
Ping z uesimtun0 nie przechodziBrak przekazywania pakietów lub NAT, zaporasysctl net.ipv4.ip_forward, reguła MASQUERADE, ufw
W Wiresharku brak treści NASWyłączona preferencja lub szyfrowanie inne niż NEA0nas-5gs.null_decipher, wybrany algorytm w Security Mode Command

Szkolenie z bezpieczeństwa 5G dla Twojego zespołu

Ten przewodnik daje podstawy: działającą sieć, umiejętność czytania procedur w Wiresharku i pierwsze wnioski dla produkcji.

Jeśli Twój dział IT przygotowuje się do wdrożenia prywatnej sieci 5G albo ma już utrzymywać jej rdzeń, możemy przeprowadzić szkolenie dla całego zespołu. Zakres dopasowujemy do Waszej infrastruktury i poziomu zespołu, a ćwiczenia prowadzimy w izolowanym laboratorium, takim jak opisane w tym artykule. Przykładowe moduły:

  • Network slicing w praktyce: kilka wycinków, kilku abonentów i weryfikacja, co faktycznie jest od siebie odseparowane.
  • Hardening rdzenia: algorytmy NAS, TLS i OAuth 2.0 w SBI, ograniczenie dostępu do PFCP i NGAP, zarządzanie kluczami SUCI.
  • Monitoring i detekcja: które zdarzenia z AMF, NRF i UPF przesyłać do SIEM i jak budować reguły.
  • Testy odporności: jak bezpiecznie i w kontrolowanych warunkach sprawdzać stabilność rdzenia przed wdrożeniem nowej wersji.
  • Rdzeń na Kubernetes: uruchomienie funkcji sieciowych w kontenerach i segmentacja sieci w klastrze.

Oprócz szkoleń wspieramy zespoły IT przy projektowaniu, wdrażaniu i przeglądzie bezpieczeństwa sieci 5G oraz infrastruktury, na której działa rdzeń.

KONTAKT

Chcesz zorganizować szkolenie z 5G dla swojego zespołu albo omówić projekt?

Napisz do nas przez formularz poniżej. Opisz krótko, czego potrzebujecie, a wrócimy z propozycją zakresu.

Wysyłając formularz przekazujesz nam swoje dane w celu odpowiedzi na zapytanie i przygotowania oferty. Administratorem danych jest SparkSome Venture Sp. z o.o. Szczegóły przetwarzania danych znajdziesz w Polityce prywatności.

Dodatkowo możemy się z Tobą skontaktować:
Wybieram kanał

Zgody są dobrowolne i możesz je wycofać w każdej chwili. Szczegóły dotyczące przetwarzania danych znajdziesz w Polityce prywatności.

FAQ: laboratorium 5G z Open5GS i UERANSIM

Powiązane artykuły

Architektura sieci 5G od anteny do chmury: techniczny przewodnik po bezpieczeństwie
Cyberbezpieczeństwo

Architektura sieci 5G od anteny do chmury: techniczny przewodnik po bezpieczeństwie

Architektura sieci 5G składa się z trzech warstw: urządzenia użytkownika (UE), sieci radiowej NG-RAN ze stacjami bazowymi gNB oraz rdzenia 5G (5G Core, 5GC). Rdzeń 5G w trybie Standalone jest zbudowany z funkcji sieciowych, które komunikują się ze sobą przez API HTTP/2, a nie przez dedykowane protokoły punkt-punkt. Dlatego bezpieczeństwo 5G wymaga jednocześnie wiedzy telekomunikacyjnej […]

Czytaj więcej
Osoba przed dwoma monitorami z czerwonymi oknami terminala i komunikatem „SYSTEM HACKED”.
Cyberbezpieczeństwo

Ataki na sieć 5G: SUCI, downgrade do LTE, burze sygnalizacyjne i izolacja network slicing

Najważniejsze zagrożenia dla sieci 5G to ujawnienie stałego identyfikatora abonenta, wymuszenie przejścia urządzenia do starszej technologii (LTE lub 2G), awarie i przeciążenia funkcji AMF wywołane sygnalizacją przed uwierzytelnieniem oraz niewystarczająca izolacja wycinków sieci (network slicing). Standard 5G ma mechanizmy przeciw każdemu z nich, ale ich skuteczność zależy od trybu pracy sieci (SA lub NSA), konfiguracji […]

Czytaj więcej
Rdzeń 5G jako mikroserwisy: SBA, mTLS, OAuth 2.0 i NRF pod lupą
Administracja IT i DevOps

Rdzeń 5G jako mikroserwisy: SBA, mTLS, OAuth 2.0 i NRF pod lupą

Rdzeń 5G (5G Core) w architekturze SBA to zestaw funkcji sieciowych, które udostępniają sobie usługi przez REST-owe API na HTTP/2 z danymi w JSON. Funkcje rejestrują się i odnajdują przez NRF, autoryzują wywołania tokenami OAuth 2.0 wydawanymi przez NRF i chronią transport wzajemnie uwierzytelnionym TLS. Dla zespołów DevOps oznacza to, że bezpieczeństwo rdzenia 5G opiera […]

Czytaj więcej

O autorze

Tomasz Siroń, Board Member & Infrastructure Architect w SparkSome Venture

Tomasz Siroń

Board Member & Infrastructure Architect

W SparkSome odpowiadam za kierunek technologiczny, architekturę systemów oraz projekty infrastrukturalne dla klientów biznesowych. Specjalizuję się w systemach Linux, DevOps, Docker, Kubernetes, sieciach MikroTik, automatyzacji i bezpieczeństwie infrastruktury. Łączę technologie Open Source z elektroniką, IoT i radiokomunikacją, a praktyczne doświadczenie wykorzystuję również podczas autorskich szkoleń technicznych dla firm i uczelni.