TEA2 & Verschlüsselung
Demodulator vs. Decoder — der Unterschied. TEA1-Backdoor (2023), TEA2 im deutschen BOS-Netz (128-Bit, nicht knackbar), OTAR-Schlüsselverwaltung und was SDR-Nutzer konkret sehen können.
Demodulator vs. Decoder — der Unterschied
Im TETRA-SDR-Umfeld werden diese Begriffe häufig verwechselt — sie beschreiben aber zwei fundamental verschiedene Schritte:
Demodulator: Empfängt das analoge HF-Signal, digitalisiert und filtert es (AGC, FLL, RRC-Filter), stellt Träger-Synchronisation her (Costas Loop), extrahiert Symbole und liefert einen rohen TETRA-Bitstrom — keine Sprachdaten.
Decoder: Liest TETRA-Protokoll-Schichten (MAC, LLC, MLE), erkennt Kanaltypen, extrahiert Metadaten (GSSI, ISSI, Netznummern). Bei unverschlüsselter Sprache: ACELP-Codec → Audio. Bei verschlüsselter Sprache: nur Metadaten lesbar.
Decoder: Liest TETRA-Protokoll-Schichten (MAC, LLC, MLE), erkennt Kanaltypen, extrahiert Metadaten (GSSI, ISSI, Netznummern). Bei unverschlüsselter Sprache: ACELP-Codec → Audio. Bei verschlüsselter Sprache: nur Metadaten lesbar.
TEA — TETRA Encryption Algorithms
| Algorithmus | Status 2026 | Einsatz | Sicherheit |
|---|---|---|---|
| TEA1 | KOMPROMITTIERT (2023) | Ältere kommerzielle Systeme | 80-Bit behauptet, effektiv nur 32 Bit — Backdoor |
| TEA2 | Sicher (aktuell) | BOS Deutschland, europ. Behörden | 128-Bit-Schlüssel, keine bekannte Schwäche |
| TEA3 | Sicher | Kommerzielle Systeme außerhalb EU/USA | 128-Bit-Schlüssel, ähnlich TEA2 |
| TEA5/TEA6 | Sicher | Neuere Systeme (TETRA Release 2) | 256-Bit-Schlüssel |
| Unverschlüsselt | — | Einige kommerzielle/lokale TETRA-Netze | Kein Schutz — vollständig dekodierbar |
⚠ TEA1-Backdoor — ETSI-Entdeckung 2023
Forscher von Midnight Blue Security entdeckten: TEA1 enthält eine absichtlich eingebaute Schwäche (by design für Exportkontrolle). 80-Bit-Schlüssel → effektiv nur 32 Bit. Brute-Force auf normaler Hardware in Minuten möglich. Betroffen: Ölplattformen, Eisenbahnen, Flughäfen, Staudamm-Monitoring. Quelle: TETRA:BURST, CVE-2022-24401 bis CVE-2022-24404.
Wie TEA2 funktioniert
TEA2 ist ein proprietärer Stromverschlüsselungsalgorithmus, nur unter NDA an Gerätehersteller lizenziert. Was bekannt ist:
TEA2-Fakten: Stromchiffre (Stream Cipher), XOR-verknüpft mit Schlüsselstrom · Schlüssellänge: 128 Bit · Initialisierungsvektor: Frame-Nummer + Sync-Daten (verhindert gleiche Ausgabe bei gleichem Schlüssel) · Schlüsselaustausch via OTAR (Over The Air Rekeying) · Keine öffentlich bekannte Kryptoanalyse seit Einführung
OTAR — Over The Air Rekeying
| Komponente | Funktion | In Deutschland |
|---|---|---|
| KMC | Zentrale Schlüsselverwaltung | BDBOS betreibt das KMC für BOS-Netz |
| SCK | Langzeitschlüssel, seltener Wechsel | In Endgeräten gespeichert, via OTAR aktualisiert |
| DCK | Sitzungsschlüssel, pro Verbindung neu | Aus SCK und Session-Parametern abgeleitet |
| GCK | Gruppenschlüssel für Gruppenrufe | Jede BOS-Gruppe hat eigenen GCK |
Was SDR-Nutzer können (und nicht können)
| Frage | Antwort | Begründung |
|---|---|---|
| Kann TEA2 mit SDR geknackt werden? | Nein — Stand 2026 | 128-Bit-Schlüssel, keine öffentliche Kryptoanalyse |
| Kann man den Schlüssel aus dem Gerät lesen? | Nein (ohne phys. Hack) | Schlüssel in sicherer Enclave gespeichert |
| Wie erkenne ich TEA2 im osmo-tetra Output? | encrypted=1 | Frame-Header zeigt Verschlüsselungsstatus |
| Was zeigt das cropinghigh Plugin bei TEA2? | Metadaten, keine Sprache | GSSI, Zeitschlitz sichtbar — Audio bleibt stumm |
| Was, wenn osmo-tetra MCC=262 zeigt? | Stoppen | MCC=262 = Deutschland, TKG §148 greift |
Fazit TEA2: Der deutsche BOS-Digitalfunk ist mit TEA2 auf aktuellem Stand der Technik gesichert. Es gibt weder einen bekannten kryptographischen Angriff noch ein öffentliches Tool das TEA2 ohne Kenntnis des Schlüssels brechen kann. SDR-Empfänger können nur den verschlüsselten Bitstrom sehen.
osmo-tetra — Protokoll-Analyse (erweitert)
# osmo-tetra installieren:
sudo apt install osmo-tetra
# ODER aus Quellcode:
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-tetra.git
cd osmo-tetra && autoreconf -i && ./configure && make && sudo make install
# Im SDR++ TETRA-Plugin: UDP-Output aktivieren → 127.0.0.1:7373
# tetra-rx empfängt Bitstrom vom Plugin:
tetra-rx udp://127.0.0.1:7373
# Beispiel-Ausgabe (unverschlüsselt):
# D-MLE-SYNC: MCC=262 MNC=01 LA=1234 ColorCode=3
# D-VOICE: GSSI=1234567 TimeslotNo=1 encrypted=0
# ! Falls MCC=262: deutsches TETRA-Netz — an dieser Stelle stoppen (TKG §148)
🎯 Amateurfunklizenz anstreben
Das Wissen aus diesem Tutorial ist eine gute Grundlage für die Prüfung. Lizenz → eigenes Rufzeichen → senden statt nur empfangen.
Zur Lizenz-Info →