Für unseren einen wichtigen Kunden aus dem Telekommunikationsbereich haben wir einen 2G/3G-Decoder für die Kommunikation zwischen Basisstationen und Mobiltelefonen entwickelt. Die Endanwendung war ein Gerät zum Abhören der mobilen Kommunikation für eine Regierungsbehörde.
Unsere Aufgabe und Herausforderung
Unsere Aufgabe bestand darin, einen 2G/3G-Decoder auf der Grundlage eines SDR-Moduls (Software Defined Radio) zu entwickeln. Das Modul enthielt einen 6GHz-Transceiver und ein FPGA. Der Decoder wurde teilweise von einem OpenBTS-Projekt inspiriert, das SDR zur Erstellung einer 2G/3G-Basisstation verwendet. Allerdings waren nicht alle Dekodierverfahren in diesem Code verfügbar. Diese Dekodierverfahren mussten von Consilia untersucht, analysiert und implementiert werden. Außerdem ist der UMTS-Standard dafür berüchtigt, dass er die Funktionsweise der höheren Schichten nur unzureichend beschreibt. Consilia musste viel Zeit in das Reverse-Engineering der Funktionsweise dieser Schichten auf Kommunikationsanalysatoren investieren, um sie in den Decoder zu implementieren.
Lösung
Aus Sicht der Signalverarbeitung
Das System war in zwei Teile geteilt. Der erste Teil war die Ettus-Platine B205mini, die die Signalverarbeitung und Abwärtskonvertierung des HF-Eingangssignals durchführte. Der zweite Teil war eine PC-Anwendung.
Das Ettus-Board wurde über USB 3.0 mit dem PC verbunden. Für die Kommunikation wurden die UHD-Treiber verwendet, die die Übertragung von Daten von der Ettus-Platine zur Steueranwendung und die Konfiguration der On-Board-HW und des FPGAs sicherstellten. Die anschließende Signalverarbeitung auf der PC-Seite erfolgte in Komponenten für GNU Radio, die von Consilia entwickelt wurden. In der letzten Phase wurden die Nachrichten von einer von Consilia entwickelten Anwendung dekodiert. Bei der Host-Anwendung handelte es sich um eine Kundensoftware, die die Messung steuerte und die dekodierten Nachrichten analysierte.
Aus der Sicht des Nutzers
Das System wurde in zwei Teile unterteilt - eine 2G-Verarbeitungsanwendung und eine 3G-Verarbeitungsanwendung.
Besondere Merkmale von 2G
- GSM 2G Downlink-Kommunikation - Signalmessung und -analyse
- Scannen des 2G-Bands und Auffinden von Scrambling-Codes von BTS auf einer bestimmten Frequenz
- Dekodierung von BCCH-, CCCH- und SDCCH 4,8-Nachrichten aus dem Downlink-Kanal
- FFT-Messung bei eingestellter Bandbreite zur Erkennung aktiver 2G-Kanäle
Besondere Merkmale von 3G
- GSM UMTS 3G Kommunikation - Signalanalyse
- Scannen des UMTS-Bandes und Auffinden von Scrambling-Codes von BTS auf einer bestimmten Frequenz
- Empfang von Daten aus primären, sekundären und dedizierten Kanälen
- Dekodierung von BCCH-, CCCH- und DCCH-Nachrichten (über FACH oder DCH) aus dem Downlink-Kanal
Das Projekt enthält auch einen Jammer-Modus, der auf mehreren bestimmten Frequenzen gleichzeitig stören kann.
Beide Anwendungen laufen auf Ubuntu Linux 16.04 LTS. Das System und die Pakete wurden vom Kunden zur Verfügung gestellt. Die gesamte Kommunikation, Steuerung und Messung erfolgt über UDP-Nachrichten.
Kundennutzen
Der 2G/3G-Decoder entlastete unseren Kunden von der Analyse und Verarbeitung der physikalischen Schicht und der untersten SW-Schichten des 2G/3G-Standards.
Das Team des Kunden konnte sich auf die reine SW-Bearbeitung der höheren Schichten konzentrieren.
Mit dem Störsender konnten sie jedes Mobiltelefon in der Nähe dazu zwingen, zu einer vordefinierten Testbasisstation zu wechseln. Dieses Projekt diente als Funktionsnachweis und legte den Grundstein für die weitere Implementierung des Decoders und des Störsenders, die als eigenständiges Produkt entwickelt werden sollen.
Wie es hergestellt wird
Das gesamte Projekt wurde als kosteneffizienter Konzeptnachweis behandelt, der aus Open-Source- und handelsüblichen SDR-Modulen bestand. Das bedeutet jedoch nicht, dass es für die Absolventen ein einfaches Rätsel war.
Es war ein komplexes Projekt, bei dem die erfahrensten Ingenieure monatelang mit der Analyse und der Implementierung der erforderlichen Funktionen beschäftigt waren.
Der 2G-Signalverarbeitungspfad beginnt im SDR-Modul. Die FPGA-Firmware wurde an die 2G-HF-Anforderungen angepasst. Mischer, Dezimierer und Filter wurden neu berechnet und entsprechend angepasst. Das Protokoll für das Streaming dezimierter Daten wurde ebenfalls angepasst, um die maximale Bandbreite von USB 3.0 nutzen zu können.
Auf der PC-Seite wurden die Treiber modifiziert, um dem geänderten Protokoll zu entsprechen, das vom FPGA gestreamt wird. In der nächsten Phase wurden die dezimierten Daten vom USB in UDP-Pakete umgewandelt, die als Kommunikationsprotokoll zwischen den GNU Radio Komponenten verwendet werden.
Hier wurde ein Teil der Verarbeitung durch GNU Radio Komponenten und ein anderer Teil durch von Consilia entwickelte Komponenten übernommen.
Die 3G-Signalverarbeitung stellte eine größere Herausforderung dar, da auf der physikalischen Ebene das Spreizspektrum verwendet wird. Es ist rechnerisch nicht möglich, die Daten nur auf einem PC zu entschlüsseln.
FPGA wurde für die Suche nach Verschlüsselungscodes verwendet, und diese Codes wurden zusammen mit dezimierten Daten zur weiteren Verarbeitung an den PC gesendet. Die Entschlüsselung der Daten im FPGA entlastete den PC und sparte dessen Rechenleistung für die Verarbeitung höherer Ebenen des 3G-Protokolls.
Kunde
Ein führende Unternehmen im Telekommunikationssegment.
In den Jahren 2017-2018 haben wir FPGA-Inhalte und eine PC-Bibliothek erstellt.
Weitere Lösungen
Seit der Gründung von Consilia im Jahr 2004 haben wir Dutzende von Projekten abgeschlossen und unterstützt.