www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verschlüsselung Sprache bei GSM CSD


Autor: Niels Keller (niels-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich arbeite (Hobby) gerade an einer verschlüsselten Sprachübertragung 
mit Mobiltelefonen. Wie bereits festgestellt werden konnte, werden von 
einigen Netzbetreibern Datenverbindungen zwischen zwei Mobiltelefonen 
zugelassen.

Das bestehende Problem ist, dass diese Sprachtelefonate abgehört werden 
können. Daher meine Idee, die Sprache extern zu digitalisieren und in 
Form von Datensätzen via CSD zu übertragen.

Was bisher geschah:
Der Thread entwickelte sich in eine andere Richtung:
Beitrag "GSM + GPS Modul von Pollin"

Meine bisherigen Ergebnisse lassen erkennen, dass die gegebene Datenrate 
von 14,4 kBit (ohne Fehlerkorrektur) wunderbar aussreicht, um Sprache 
unkomprimiert zu übertragen.

Bei meinem Aufbau wird ein Audiosignal verstärkt, über den ADC des 
Atmega eingelesen, anschließend auf 7 Bit komprimiert. Die Werte liegen 
dann im Bereich zwischen 1 bis 127. Diese Werte werden über die serielle 
Schnittstelle an einen anderen Controller gesendet und dort über einen 
R2R-DAC über drei Verstärkerstufen wieder in ein Audiosignal 
umgewandelt. Das Ganze ist unkomprimiert. Ich bin überrascht, wie gut 
das klingt. Bei 9600 Bit/s lässt sich Sprache gerade so verstehen. Ab 
ungefähr 13000Bit/s kommt auch Audio gut rüber.

Hier die Dateien:
http://www.mikrocontroller.net/attachment/59646/Au...
http://www.mikrocontroller.net/attachment/59647/Au...

Die Ergebnisse klingen mit einem Kopfhörer deutlich besser. Es konnte 
mittlweile durch einen Filter, die Qualität für Sprache verbessert 
werden. Von demher sind diese Dateien nicht mehr der aktuellste Stand.

Das Ganze wurde bereits mit zwei Siemens A60 Mobiltelefonen getestet. 
Die Übertragung funktionierte bidirektional problemlos. Daher werde ich 
an dieser Stelle auch weitermachen.

Nun zu den Fragen:
Ich möchte die Übetragung noch verschlüsseln. Die übertragenen Daten 
sehen wie folgt aus:

http://www.mikrocontroller.net/attachment/59730/Au...

Die Werte sind alle im 7Bit Bereich des ASCII-Codes. Dieser kann über 
CSD übertragen werden. Wie kann man die Übertragung verschlüsseln. Wer 
sinnvolle Ideen hat, bitte hier posten.

Autor: Niels Keller (niels-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was, keiner hat eine Idee? Sind doch sonst immer gleich dabei ;-)

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
den originalen AD-Werten könnte man ja andere zuweisen und packen oder 
vocoder, die wurden ja genau wegen so was gebaut?
Oder vieleicht am Telefon einfach nur ganz leise reden?


mfg

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke, das ließe sich per Software direkt im Handy-Betriebssystem 
einfacher machen. Es ist definitiv Alles bereits vorhanden und es 
genügen ein par Bytes ... fehlen nur die Infos und die passenden 
Softwarewerkzeuge.

Was du machen willst, nennt sich wohl "Scrambler" und das gab es schon 
bei den analogen Telefonen. Dabei wurde das Eingangssignal wie bei einem 
Equalizer in mehrere schmale Frequenzbänder zerteilt. Diese wurden in 
andere Frequenzbereiche transformiert (gemischt), wieder zusammengesetzt 
und übertragen.

Auf der Empfängerseite wurde diese Vertauschung rückgängig gemacht. Ohne 
Kenntnis, welcher Frequenzbereich mit welchem vertauscht wurde, war kein 
Entschlüsseln möglich und ein Zuhörer hörte nur unverständliches 
Zwischern, Blubbern und Zirpen ...

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist auch schon in tel eingebaut, nennt sich A8 sowie A3 und wird dann 
anstelle des A5 verwendet, aber wenn du das von 0 auf machen, willst,
bitte.

Autor: siegmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Niels,

gibt es natürlich alles schon und ich kann mich entsinnen,das es auch 
diesbezüglich Opensource Projekte gab bzw. gibt.
Leider ...hab ich sie nicht zur Hand.
Deshalb empfehle ich Dir einfach mal ausgiebig zu recherchieren.

Noch eine gute Nacht
Gruß
Siegmar

Autor: Niels Keller (niels-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Frank: Ich vermute, dass Du von Handys sprichst, die ein 
Betriebssystem haben, dass man ändern kann, so etwas wie Symbian oder CE 
- Systeme. Ich habe tatsächlich noch einen MDA, der mit einem 
echtzeitfähigen WindowsMobile (CE) läuft. Damit müsste man sogar die 
volle AES Verschlüsselung umsetzen können.

Mir ging es aber eher um eine Lösung mit dem uC - einfach aus Gründen 
des Bastlertriebs ;-). (Cryptophone machen das, glaube ich auch mit 
solchen CE-Geräten).

Scrambler? - Waren das die Geräte, die in "Die Hard II" als Funkgeräte 
genutzt worden - so viele Möglichkeiten dürfte es da aber nicht geben. 
Bei Frequenzscheibchen von je 50 Hz (nicht logarithmisch) wären das bei 
rund 2000 Hz nur rund 100 Kombinationen. Oder war das anders gemeint?

@chris: Diese Verschlüsselung ist aber nur vom Mobiltelefon zum 
Funkmasten aktiv, danach werden alle Gespräche von der Zelle zur 
Basisstation unverschlüsselt übertragen (Kabel oder Mikrowelle). Aber 
selbst diese Verschlüsselung kann innerhalb weniger Minuten ausgelesen 
werden...


--> Gibt es günstige externe Verschlüsselungschips, oder einen einfachen 
Walzencode. Es würde mir genügen, wenn keine Schlüsselübergabe erfolgen 
muss. So etwas wie die Engima. Einmal den Schlüssel für jeden Tag 
vordefinieren und dann nur die entsprechenden Walzen tauschen. Walzen 
dann natürlich als Speicher zu sehen.

Autor: Reinhard S. (rezz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank schrieb:
> Dabei wurde das Eingangssignal wie bei einem
> Equalizer in mehrere schmale Frequenzbänder zerteilt. Diese wurden in
> andere Frequenzbereiche transformiert (gemischt), wieder zusammengesetzt
> und übertragen.
>
> Auf der Empfängerseite wurde diese Vertauschung rückgängig gemacht. Ohne
> Kenntnis, welcher Frequenzbereich mit welchem vertauscht wurde, war kein
> Entschlüsseln möglich und ein Zuhörer hörte nur unverständliches
> Zwischern, Blubbern und Zirpen ...

Hat leider den Nachteil das eben eine feste Zuordnung nötig ist. Ähnlich 
wie wenn ich beim Schreiben jedes "e" durch ein "o" usw. vertausche...
Also eher unsicher :)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PGP?

Autor: gadgaet (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte das ganze mit einem wechselnden Code verxorn. Der Empfänger 
kennt auch die Gesetzmäßigkeit(en), nach denen die Codes berechnet 
werden und weiß so, wie er es wieder zu entschlüsseln hätte.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der AVR wird eine "richtige" Verschlüsselung (AES, XTEA o.ä.) vermutlich 
nicht schnell genug schaffen, für einen kleinen ARM oder einen Xmega mit 
AES-Hardware-Unterstützung wäre das aber kein Problem.

Dem Analogteil deiner Schaltung solltest du allerdings DRINGEND ein paar 
Aliasing-Filter (Bandpass mit Grenzfrequenz bei halber Abtastrate) am 
Ein- und Ausgang spendieren, falls du das noch nicht gemacht hast. Das 
wird die Tonqualität drastisch verbessern.

Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Schwarz schrieb:

> Dem Analogteil deiner Schaltung solltest du allerdings DRINGEND ein paar
> Aliasing-Filter (Bandpass mit Grenzfrequenz bei halber Abtastrate) am
> Ein- und Ausgang spendieren, falls du das noch nicht gemacht hast. Das
> wird die Tonqualität drastisch verbessern.

Das mit den Filtern habe ich heute morgen versucht umzusetzen. Betonung 
liegt auf "versucht". Wie legt man diese Filter richtig aus. Sagen wir 
ganz konkret, dass ich alle Frequenzen von 200 Hz bis 3000 Hz 
durchlassen möchte. Das würde dann wohl auf einen Bandfilter 
hinauslaufen. Übrigens habe ich mir Dein Dokument des 
Funktionsgenerators in Bezug auf Filter und R2R Netzwerk durchgelesen. 
Fand ich gut aufgebaut.

Wie sind die Kapazitäten und Widerstände zu wählen. Ich habe einige 
Kombinationen versucht. Das Ergebnis war einfach nur eine Abschwächung 
des Pegels, nicht aber eine "Verbesserung" des Gesamtsignals oder gar 
eine Filterung einer Frequenz.

Ist gar nicht so einfach. Ich ging immer davon aus, das mit geringer 
Abtastrate und niedriger Auflösung die hohen Frequenzen ganz von selbst 
verschwinden. Leider kommen immer noch einige hochfrequente Töne durch. 
Ich habe in den Anhang ein bisheriges Ergebnis einer Audiodatei gelegt. 
In dieser wird die Baudrate vier mal nach unten hin gesenkt. Begonnen 
wird mit 115200, es folgt 57600, gefolgt von 19200 und schließlich 9600 
Bps.

Autor: Niels Keller (niels-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach einigem Hin und Her wird eine "schwache" RSA-Verschlüsselung mit 
Schlüsselübergabe in Form einer SMS zur Anwendung kommen.

Der Absender wird dann einen Datenanruf zum Empfänger aufbauen (oder 
umgekehrt). Diese ist bereits verschlüsselt. In der ersten Sequenz 
erfolgt die Übergabe des öffentlichen Schlüssels des Empfängers zum 
Absender hin.

Die geheimen Schlüssel werden in einer SMS auf jedem Mobiltelefon 
gespeichert. Das hat den Vorteil, dass der Anwender diese komfortabel 
ändern kann. Die (natürlich nicht abgesendete SMS) wird dann vom uC 
ausgelesen und der Schlüssel extrahiert und anschließend gelöscht.

Autor: Harald Naumann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Eine Sprachverschlüssung mittels digtalen Voice Interface am GSM Modul 
habe ich hier beschrieben:
http://www.gsm-modem.de/gsm-voice-encryption.html
Rezept A:
- GSM Modul mit DVI Interface (z.B. Telit)
- MCU
- Audio Codec Maxim MAX 9853 oder WM 8978

Rezept B:
- GSM Modul mit DVI Interface (z.B. Telit)
- Audio Codec DA9034
- PXA310  Marvell
Rezept B wurde für den Aufbau eines PDA mit Sprachverschlüsselung 
benutzt. Rezept A ist mehr etwas für den "Heimbedarf". Alle Bauteile füe 
Rezept A sind frei für jeden auch in Einzelstückzahlen verfügbar.

Gruß
Harald

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.