SOS-Protokoll: Technische Spezifikation für vertrauliche SMS-Kommunikation
Das SOS-Protokoll definiert Struktur und Logik für vertrauliche, textbasierte Kommunikation per SMS. Es nutzt ein strenges Nachrichtenformat mit Zuständen, Flags und einer Prüfsumme, um Synchronisation und Integritätsprüfung sicherzustellen. Dieses Dokument beschreibt das Nachrichtenformat, das Verhalten der endlichen Zustandsmaschine sowie die Fehlerbehandlung – und ermöglicht damit zuverlässige Funktionalität ohne Internetverbindung.
Nachrichtenformat und Aufbau
Eine SOS-Nachricht folgt diesem Schema: SOS-Nachricht = Start-Tag "|" Version "|" Zustand "|" Sitzungs-ID "|" Flags "|" Nutzdatenlänge "|" Nutzdaten ["|" Prüfsumme]. Die Felder sind durch senkrechte Striche getrennt.
- Start-Tag: „SOS“ — Protokollkennung.
- Version: „1“ — aktuelle Version.
- Zustand: einer von (IDLE, SYNS, SYNR, ESTD, FINW, PRMT, BUSY, SUSP, CLSD, MORE).
- Sitzungs-ID: fünfstellige Zahl (1–65535), pro Sitzung monoton steigend.
- Flags: „A“ (ACK), „F“ (FIN), „R“ (RST) oder leer.
- Nutzdatenlänge: drei Ziffern zur Angabe der Länge der Nutzdaten in Zeichen (0–160).
- Nutzdaten: Klartext, optional mit Steuersequenzen.
- Prüfsumme: zwei Hex-Zeichen (optional).
Beispiel: SOS|1|SYNS|42||12|Hi gorgeous|3E.
Berechnung der Prüfsumme
Algorithmus:
- Teilen Sie die Nutzdaten in Wörter auf (Leerzeichen werden ignoriert).
- Multiplizieren Sie die Wortlängen (bei leerer Nutzlast wird 1 verwendet).
- Subtrahieren Sie die Anzahl der Leerzeichen.
- Bilden Sie den Modulo-256-Wert und konvertieren Sie ihn in Großbuchstaben-Hex.
Dieses Verfahren gewährleistet Einfachheit und Robustheit gegenüber typischen SMS-Übertragungsstörungen auf Mobilgeräten.
Fachbegriffe und Steuersequenzen
Wichtige Konzepte:
- Initiator: Die Partei, die die erste Nachricht versendet.
- Ziel-Empfänger: Die Partei, die den Austausch annimmt oder ablehnt.
- Zustand: Eine Phase in der endlichen Zustandsmaschine des Protokolls.
- Steuersequenz: Ein emotionaler oder funktioneller Marker innerhalb der Nutzdaten.
Häufige Steuersequenzen in den Nutzdaten:
| Sequenz | Bedeutung |
|---------|-----------|
| Y | Zustimmung |
| N | Ablehnung |
| ... | Pause |
| :-) | Freundlicher Hinweis |
| ;-) | Spielerischer Unterton |
| :-D | Lachen |
| ^_^ | Freudige Bestätigung |
| >_< | Verlegenheit |
| ~ | Mehrdeutigkeit |
| (.)(.) | Bezug auf körperliche Merkmale |
| ¯\\_(ツ)_/¯ | Unsicherheit |
Implementierungen können diese Sequenzen für automatisierte Antworten oder UI-Verbesserungen auswerten.
Zustandsmaschine und Zustände des Protokolls
Jeder Teilnehmer verwaltet eine endliche Zustandsmaschine. Die Synchronisation erfolgt über die Felder Zustand und Flags.
Zustände:
- IDLE: Ausgangszustand.
- SYNS: Warten auf Antwort auf die Einladung.
- SYNR: Einladung empfangen; Antwort gesendet.
- ESTD: Aktiver Austausch.
- FINW: Warten auf Bestätigung der Beendigung.
- PRMT: Vorzeitige Beendigung.
- BUSY: Vorübergehend nicht erreichbar.
- SUSP: Verdächtige Aktivität erkannt.
- CLSD: Sitzung geschlossen.
- MORE: Fortsetzung nach FIN.
Zustandsübergänge
Übergänge werden durch das Senden bzw. Empfangen von SOS-Nachrichten ausgelöst:
- IDLE → SYNS: SYNS senden; Timeout nach 10 Minuten.
- SYNS → ESTD: SYNR + ACK-Flag (A) empfangen.
- SYNS → PRMT: Timeout oder RST-Flag empfangen.
- ESTD → FINW: FIN-Flag (F) senden; Timeout nach 2 Minuten.
- FINW → CLSD: ACK (A) empfangen.
- FINW → MORE: MORE + ACK (A) empfangen; Rückkehr zu ESTD.
- Beliebig → PRMT: RST empfangen oder Timeout.
- IDLE → BUSY: BUSY als Antwort auf eingehende SYN.
- SYNR → SUSP: Anomalie in Sitzungs-ID oder Prüfsumme.
Timeouts und Sanktionen
- SYN: 10 Minuten → PRMT.
- ESTD: 10 Minuten ohne ACK → PRMT.
- FINW: 2 Minuten → CLSD.
- MORE: 10 Minuten → CLSD.
Sanktionen:
- PRMT: 30-Minuten-Sperre; bei 3 Vorfällen 7-Tage-Sperrung.
- BUSY: 15-Minuten-Wartezeit vor erneutem Versuch.
- SUSP: Sofortiges RST + 24-Stunden-Sperrung.
Kollisionsbehandlung
Wenn eine SYN-Nachricht während einer aktiven Sitzung eingeht: Antwort mit BUSY und Nachricht „Sitzung bereits aktiv“. Der Initiator kehrt in den Zustand IDLE zurück. Nicht-monotone Sitzungs-ID → SUSP → RST.
Wichtigste Erkenntnisse:
- SOS standardisiert zustandsorientierte SMS-Kommunikation mit integrierter Prüfsumme für maximale Zuverlässigkeit.
- Ermöglicht vollständig offline betriebene Synchronisation (SYNS/SYNR/ESTD) — kein Internet erforderlich.
- Steuersequenzen vereinfachen ausdrucksstarke, emotional nuancierte Interaktionen.
- Sanktionen und Timeouts verhindern Spam, Missbrauch und Protokollanomalien.
- Die leichtgewichtige Prüfsumme bleibt robust gegenüber typischen SMS-Korruptionen.
— Editorial Team
Noch keine Kommentare.