HEKTOR 128 - Sprachverschlüssler
nach dem Transpositionsverfahren


Wer öffentliche Kommunikationssysteme nutzt, muss immer damit rechnen, dass Unbefugte Informationen abgreifen. Gegen elektronische Bespitzelung schützt eben kein aufgeweichtes "Fernmeldegeheimnis" und auch kein naiver Datenschutz - sondern einzig und allein der beherzte Einsatz von Kryptografie.


Vorworte | Projekt | Hardware | Firmware | Nachbau | Bedienung | Sicherheit | Messungen | Hinweise | Download | Index


Prototyp1
Bild 1a: Technischer K.O. für Schnüffler und Co.



Tabelle 1: Technische Daten
der HEKTOR-Firmware V1.0

Beschreibung: Taktischer Sprachverschlüssler auf einer autonomen und transparenten Plattform
Verfahrens-
klasse(n):
Zeittransposition und Frequenzvariation im Basisband
Bandbreite: Telefonie (ca. 300-3300 Hz)
Interner Codec:
Deltamodulation 96 kHz
Blockdauer: 1,28 s Block + 40 ms Synchro
Blockteilung: 128 Symbole pro Block,
64 Frequenzvariationen pro Symbol
Symboldauer:
ca. 10 ms (Laufzeitvariation +/- 50 %)
Schlüssel-
management:
Symmetrische Sitzungsschlüssel
(16-stelliger Dezimalcode)
Schlüsselraum:
1016 verschiedene Startbedingungen
(entspricht 53-Bit-Schlüssel)
Schlüsselwechsel
(Rolling Code):
Transpositionstabelle wechselt mit jedem Block; Frequenztabelle wechselt mit jedem Durchgang
Synchronisation: 1500 Hz Durchgangskennung (1,3 s)
1650 Hz Blocksynchronisation (40 ms) und
1650 Hz Blockende (ca. 1 s)



Telefonverschlüsselung für Alle

Wer private Daten auf seiner Festplatte für sich behalten will, verschlüsselt diese. Wer private E-Mails übertragen will, verschlüsselt diese. Wer private Telefonate führen will ... verschlüsselt diese !

Nun ist Kryptografie für viele Menschen leider immer noch nicht so selbstverständlich, wie etwa das Zukleben von Briefumschlägen oder das Abschließen der Wohnungstür. Dabei gibt es für E-Mail oder Festplattenverschlüsselung schon längst offen dokumentierte, kostenlose und einigermaßen vertrauenswürdige Krypto-Lösungen zum Schutz der Privatsphäre.

Lassen wir uns von Geheimdiensten, Politmarionetten und Krypto-Nerds nicht verunsichern!
Jede Art von Verschlüsselung ist besser als gar keine, wenn damit gerechnet werden muss, dass der Informationsfluss überwacht wird. Jedes Verfahren, das den Inhalt unserer Kommunikation effektiv verschleiern kann und selbst keine Hintertürchen enthält, legt die Messlatte erheblich höher. Und obwohl die kryptologischen Anforderungen bei Sprachübertragungen eigentlich nicht so arg hoch sind, sucht man leider bis heute vergeblich nach Lösungen, die robust, praktisch, transparent und bezahlbar wären...

Dabei wollen wir doch bloß das gesprochene Wort von "A" nach "B" transportieren, ohne dass Unbefugte - also alle anderen, auf deren Meinung wir keinen Wert legen - unsere Kommunikation mit realistischem Aufwand entziffern können.

Wir wollen möglicherweise keine unnötigen Datenspuren und Serverprotokolle erzeugen. Vielleicht müssen wir in Krisenzeiten einmal vertrauliche Sprachkommunikation durchführen, wo nur ein ganz ordinärer Telefonanschluss zur Verfügung steht. Oder ein Funkgerät.

Da wir wohl kaum langfristige strategische Planungen am Telefon besprechen, brauchen wir für die Sprachkommunikation auch nicht unbedingt einen Krypto-Hammer mit 1024-Bit-Verschlüsselung, bei dem "ein Superrechner theoretisch soundsoviel Millionen Jahre beschäftigt wäre, um unseren Code zu brechen". Solche Phantasiezahlen sollen nur davon ablenken, dass die kommerziellen Produkte in der Regel mit "zertifizierten Hintertürchen" versehen sind, die den Einstieg für interessierte Dienste dann doch erheblich abkürzen...

Eine realistische Forderung für verschlüsselte Sprachkommunikation ist sogenannte taktische Sicherheit. Die Nachricht muss so gut geschützt werden, dass ein ernsthafter Angriff in Echtzeit nicht möglich ist, sondern mindestens Stunden oder vielleicht Tage dauern würde. Bis dahin sind taktische (kurzfristig wichtige) Informationen in der Regel schon wieder "veraltet" und haben für den Abhörgegner keinen Nutzen mehr. Natürlich muss auch ein taktisches Verschlüsselungsverfahren absolut transparent und in allen Details offengelegt sein, damit seine Sicherheit realistisch beurteilt werden kann. Ohne diese Transparenz bleibt nur das Glaubensprinzip. Keine besonders gute Option, wenn es um vernünftige Entscheidungen geht...

These:
Taktische Sicherheit lässt sich auch mit einem knackigen Analogverfahren erreichen!

Die klassischen Analogverschlüsselungen arbeiten entweder mit Manipulationen in der Zeit- oder aber in der Frequenzdomäne.

So verwenden praktisch alle kommerziellen "Scrambler" der unteren bis mittleren Preisklasse Abwandlungen der Frequenzinversion. Dieses Verfahren war noch nie besonders sicher, und es gewinnt auch in der aufgemotzten Variante mit mehreren Frequenzbändern und wechselnden Codes kaum an Sicherheit. Der Grund liegt in der begrenzten Anzahl von Freiheitsgraden, die man bei Veränderungen des Sprachspektrums hat. Die hohe Redundanz der Sprache kommt immer wieder durch und ermöglicht heute recht bequeme Angriffe mit verschiedenen Verfahren der digitalen Signalanalyse. Einschlägige Dienste haben wahrscheinlich für alle bekannten kommerziellen Sprachverschlüssler ihre Standardtools, die ein Mitlesen in Echtzeit ermöglichen. Diese Produkte schützen also bestenfalls gegen das versehentliche Aufschnappen von Informationen durch Hobbydetektive.

Das zweite klassische Analogverfahren ist die Zeittransposition. Beim Sender wird die Sprache blockweise zwischengespeichert und in viele kurze Bruchstücke zerhackt; diese gehen dann in pseudozufälliger Reihenfolge über den Sender. Auf Empfängerseite werden diese Bruchstücke ebenfalls zwischengespeichert, umsortiert und schließlich in der richtigen Reihenfolge wiedergegeben. Klingt trivial, ist es im Grunde auch. Aber dieses Verfahren ist skalierbar! Wenn wir bereit sind, größere Signalverzögerungen in Kauf zu nehmen, können wir die Zeittransposition mit relativ langen Blöcken und sehr feiner Teilung anwenden - auf diese Weise entsteht dann eine wirklich mächtige Analogverschlüsselung, die diesen Namen auch verdient.


Volldigitale Verschlüssler erzeugen einen anspruchsvollen Datenstrom, der möglichst fehlerfrei übertragen werden muss, um am Zielort wieder entschlüsselt zu werden. Meist ist man dann auf ein bestimmtes digitales Netz und ein bestimmtes Protokoll mit Sicherungsschicht (ISDN, UMTS, TCP/IP) angewiesen.
Dabei bleibt fraglich, ob Sprachverschlüsselung auf einem Tablet, Mobiltelefon oder gar einem dieser unsäglichen "Smartphones" überhaupt der Mühe wert ist. Da kann die Krypto-Anwendung noch so quelloffen und von Mathefreaks mit Begeisterungsstürmen bedacht sein, in der Realität gibt es auf diesen Plattformen genügend Angriffspunkte für einschlägige Dienste. Von einer vertrauenswürdigen Anwendung kann ohnehin nicht die Rede sein, solange nicht sämtliche Details von Software und Hardware vollkommen transparent sind.

Anders der Analogverschlüssler. Er liefert an seinem Ausgang wieder ein Audiosignal im Basisband. Ein Analogverschlüssler wird an den Endpunkten, sozusagen kurz vor der Mensch-Maschine-Schnittstelle, in den niederfrequenten Signalpfad eingefügt. Der Analogverschlüssler kann relativ leicht an ein analoges oder digitales Funkgerät oder ein analoges oder digitales Telefonsystem angeklemmt werden. Das ist im Wesentlichen nur eine Frage von passenden Adaptern. Zu Not können auch Akustikkoppler, ganz wie in der Modem-Steinzeit, eingesetzt werden. Diese Flexibilität und die geringen Anforderungen an den Übertragungskanal können wir als strategische Vorteile verbuchen!

Analogverschlüssler sind universell verwendbar!

Das Projekt "HEKTOR" ist ein konkreter Vorschlag, wie ein Sprachverschlüssler für den Hausgebrauch aussehen könnte, der ein robustes taktisches Sicherheitsniveau vorlegt und trotzdem die Vorteile eines quasi-analogen Verschlüsslers hat.

Es handelt sich in der gegenwärtigen Ausgestaltung um ein symmetrisches Kryptosystem. Beide Teilnehmer müssen also vor dem Wechsel in den verschlüsselten Betrieb einen geheimen Zahlenschlüssel in das Gerät reinhämmern. Es werden bewusst keine Chipkarten oder sonstige externe Speichermedien verwendet. Das Gerät selbst ist vollkommen gedächtnislos, das heißt, nach dem Abschalten sind jegliche Schlüsselinformationen sicher gelöscht.

Was den Bedienkomfort betrifft, kann dieser Ansatz also vermutlich nicht mit "idiotensicheren" Produkten für Amtsstuben oder Militärangehörige mithalten. Stattdessen haben wir etwas viel Wertvolleres: Transparenz. Alle technischen und kryptografisch relevanten Details sind selbstverständlich offengelegt. Es handelt sich um Open-Source und, bis zu einem bestimmten Grad, Open-Hardware. Auch dieses Projekt hat in den letzten Jahren vom Feedback unerschrockener Anwender profitiert, und tut es weiterhin. Dafür möchte ich der Community ganz herzlich danken!

Mit brachenüblichen Analysetools ist diese komplexe Variante der Zeittransposition mit Sicherheit nicht zu brechen. Auch einem ernsthaften phonetisch/kryptoanalytischen Angriff, dürfte das Verfahren einige Zeit standhalten. Diese Einschätzung werde ich  weiter unten noch genauer begründen und zur Diskussion stellen.


Nach oben


Codename: "HEKTOR"

Das Projekt kombiniert zwei unterschiedliche Verfahrensklassen der analogen Signalverarbeitung:
Zeittransposition mit ernsthaften Parametern
sowie eine einfache Form der Frequenzsubstitution.

Die Hardware beruht auf einem AVR-Mikrocontroller mit RAM-Erweiterung und wenig Analogelektronik drumherum. Es handelt sich um eine autonome, transparente, experimentierfreundliche und preiswerte Plattform.

Die Software (Firmware) übernimmt das Digitalisieren und Zwischenspeichern der Sprache, Zeittransposition, Frequenzvariation, Synchronisation, Ablaufsteuerung usw.
Hier kommt ein großzügig angesetztes Transpositionsschema mit feiner Teilung zum Einsatz, das einen riesigen Schlüsselraum bereitstellt. Der ineffiziente Brute-Force-Angriff ist damit von vornherein zum Scheitern verurteilt.
Zusätzlich wird über das zeittransponierte Signal eine dynamische (pseudozufällige) Frequenzvariation gelegt. Sie modifiziert die Symboldauer und verwischt spektrale Merkmale der übertragenen Sprache. Beide Effekte wirken sich positiv auf die Sicherheit aus, weil einerseits kein starres Zeitraster mehr existiert (von dem übliche Angriffe auf Transpositionsverschlüssler ausgehen), und andererseits werden die Frequenzkomponenten der Phoneme gespreizt und damit widerstandsfähiger gegen Kanalstörungen (ähnlich wie Spread-Spectrum-Übertragung).

Der Schlüsselalgorithmus nimmt 16-stellige Dezimalzahlen als Startwert und kann demzufolge 10 Billiarden unterschiedlicher Schlüsselsequenzen liefern. Binär entspricht dies einer Schlüssellänge von etwa 53 Bits. Dass dies für ein Analogverfahren nicht gerade wenig ist, wird weiter unten noch ausführlicher angesprochen. Selbstverständlich liefert der Algorithmus zur Tabellentransposition für jeden folgenden Block eine ganz neue Transpositionstabelle, die während einer Übertragung auch garantiert nur einmal vorkommt.

In den eingangs genannten technischen Daten sind die wichtigsten Parameter der aktuellen Lösung zusammengefasst.
Wer sich diese einmal genauer ansieht, ahnt es sicher schon: Der Name HEKTOR ist keine sinnige Abkürzung, er leitet sich vielmehr von der griechischen Vorsilbe "hekto" ab, also "Hundert". Hier finden denn auch ungefähr 100 Transpositionen pro Sekunde statt. Jeder Transpositionsblock ist in 128 Symbole von durchschnittlich jeweils 10 Millisekunden unterteilt, sodass sich eine Blocklänge von 1,28 Sekunden ergibt.
Diese recht hohe (und auf dem "Markt" noch nie dagewesene) Symbolfolgefrequenz stellt gewisse Mindestanforderungen an den Übertragungskanal und an das Synchronisationsverfahren. Die meisten Telefonanbieter, bei denen Dienstgütekriterien noch ernst genommen werden, konnten diese Anforderungen im Jahr 2008 problemlos erfüllen. Problematisch wird es offensichtlich in Mobilfunknetzen und über extrem stark komprimierende Sprach-Codecs (VoIP).
Durch die Realisierung mit einem Mikrocontroller besteht natürlich immer die Möglichkeit, an allen technischen Parametern der Zeittransposition noch einiges zu "drehen". (So hat die letzte Firmware-Revision doch tatsächlich nach Jahren noch ein paar echte Verbesserungen in der Signalqualität gebracht.)

Zur Handhabung

Es handelt sich wie gesagt um ein klassisches (symmetrisches) Kryptosystem, das mit memorierbaren Zahlenschlüsseln arbeitet. Eine Zahl kann nicht verlorengehen oder geklaut werden, wie etwa eine Chipkarte. Eine bis zu 16-stellige Zahl können wir bisweilen noch im Kopf behalten oder mithilfe von Eselsbrücken nach Bedarf errechnen.
Das Schlüsselmanagement bleibt also überschaubar und lässt sich konsequent handhaben. Im Extremfall genügt es nämlich schon, wenn ein einziges Mal eine Geheimzahl über einen sicheren Kanal (PGP) vereinbart wurde, und wenn beide Teilnehmer später ihre Sitzungsschlüssel einfach "offline" nach einer vorher vereinbarten Regel berechnen. (Mehr Phantasie ist in diesem Bereich besser, als mehr Technik!)

Technisch gesehen beginnt die verschlüsselte Kommunikation immer als unverschlüsseltes Telefonat über das normale Telefon. Nach Absprache geben beide Teilnehmer ihren bis zu 16-stelligen Tagesschlüssel am Gerät ein. (Der Anrufer kann dies auch schon vorher getan haben.)
Ungefähr gleichzeitig drücken dann beide Teilnehmer die Bestätigungstaste und aktivieren damit den Verschlüssler. Dieser schaltet sich auf die Leitung und wirft den Telefonapparat ab. Beide Teilnehmer müssen anstelle des Telefons nun das Mikrofon und den Kopfhörer des Verschlüsslers benutzen. Klingt umständlich, ist aber im Sinne einer sauberen Trennung zwischen sicherer und potenziell unsicherer Hardware durchaus angebracht! Das reguläre Telefon kann "verwanzt" sein, oder es wird direkt über die Drahtlos-Schnittstelle abgehört. Manipulationen an einem separaten Verschlüssler und seinem Headset lassen sich im Zweifelsfall besser verhindern (Gerät wegschließen, Sprengkapseln... mehr Phantasie...!)

Aufgrund der zweifachen Zwischenspeicherung (einmal beim Sender, einmal beim Empfänger) und zusätzlicher Synchronisationssignale entsteht bei diesem Verfahren eine vergleichsweise große Signalverzögerung von ca. 2,6 Sekunden! Bei solchen Laufzeiten ist an eine Kommunikation im Vollduplex natürlich nicht mehr zu denken. An die Kommunikation im Halbduplex (Wechselsprechen) kann man sich aber gut gewöhnen, hier fallen Verzögerungen im Sekundenmaßstab kaum auf.

Zu dieser Schaltungsversion

Das Projekt wurde erstmalig in [10] veröffentlicht, dort als zweiteiliger Aufbau, bestehend aus einer Hauptplatine mit einer standardisierten Kontaktleiste zum Anschluss verschiedener Anpassschaltungen (Telefonsysteme, Funkgeräte). Der "modulare" Ansatz sollte es erleichtern, dass experimentierfreudige Nutzer bei Bedarf eigene maßgeschneiderte Anpassschaltungen für Funkgeräte entwickeln können. Ein universelles HEKTOR-Radio-Interface, das mit jedem Funkgerät zusammenspielen würde, gibt es leider bis heute nicht, und die zweiteilige Platinenversion wird von mir persönlich auch nicht weiterverfolgt.

Für die Ankopplung an analoge Telefonsysteme existiert aber seit Längerem eine einfache und erprobte Schaltung, das sogenannte HEKTOR-Line-Interface. Die hier vorgestellte HEKTOR-Kompaktversion beschränkt sich auf diese wohl häufigere Anwendung, den Betrieb an einem Telefonsystem. Beide Schaltungsteile passen hier schön auf eine Platine von nur 75 x 100 mm, also halbes Euroformat. Apropos "Euro" - das komplette Projekt ist locker für unter 100 Euro pro Gerät realisierbar. Je nachdem, was man alles noch "in der Bastelkiste" vorrätig hat, geht es auch noch wesentlich günstiger.

Die Platinenversion HEKTOR-kompakt ist funktional absolut identisch mit dem zweiteiligen Aufbau aus separater Hauptplatine und Line-Interface. Es kann dieselbe Firmware verwendet werden. Alle Erklärungen zur Schaltungstechnik, zur Bedienung und zur Sicherheit, gelten sinngemäß für beide Varianten.

Nach oben




Hektor Gerät 2 geöffnet Bild 1b: Kompaktversion, offen


Technische Umsetzung

Das Transpositionsverfahren lässt sich mit der heute zur Verfügung stehenden Technik recht preiswert und konsequent umsetzen. Dabei besteht die vorgestellte Hardware-Plattform im Wesentlichen aus einem "dicken" AVR-Mikrocontroller, dem ATmega8515 mit zusätzlichem Arbeitsspeicher und einem Programm, das für Sprachdigitalisierung, Speicherzugriffe, Transpositionsschlüssel und Ablaufsteuerung zuständig ist.

Die Sprache wird übrigens nicht mit einem A/D-Wandler des AVR digitalisiert, zumal der ATMega8515 gar keinen besitzt... Aber er hat einen schnellen Analogkomparator on Chip, der sich bestens zur A/D-Wandlung nach dem Prinzip der Deltamodulation eignet. (Im Laufe des Projektes hat sich schnell herausgestellt, dass die Deltamodulation als "Behelfslösung" in dieser Anwendung gleich mehrere Vorteile gegenüber PCM und Co. hat. Siehe weiter unten.) Als Einstieg in die Grundlagen der Deltawandler empfehle ich die Lektüre von [5].)

Für eine akzeptable "Telefonqualität" benötigt man bei Verwendung der einfachen Deltamodulation eine Mindest-Abtastrate von etwa 64 Kbit/s. In ein RAM von lediglich 256 Kbit passen demnach immerhin bis zu 4 Sekunden Sprache. Das ist für diese Anwendung auch genau die richtige Größenordnung!
Praktischerweise unterstützt der ATmega8515 schon in seinem tiefsten Innersten den Zugriff auf externe Speicherbausteine mit einem parallelen 16-Bit-Adressbus. Als externer Speicher kommt ein preiswertes und robustes statisches RAM vom Typ 62256 zum Einsatz. (Recycling-Tipp: Alternativ dazu geht auch ein 61256 mit Adaptersockel! Diese schnellen SRAMs mit Zugriffszeiten unter 20ns wurden früher einmal massenweise auf AT-Mainboards als externer Prozessorcache verwendet. Sie sind noch in mancher Bastelkiste vorrätig, schmeißt man ja nicht weg, die Dinger waren damals so richtig teuer...)
Für den Adress-/Datenmultiplex braucht der ATmega nur noch ein Halteregister (Latch) vom Typ 74HC573 als weiteren externen Baustein. Das ist ebenfalls ein absolutes Standardteil. Timing und Signalspiel wird in dieser Standardschaltung zu 100% vom Prozessorkern des ATmega8515 abgewickelt. Der Programmierer kann bei den Zugriffen auf das externe SRAM praktisch genauso vorgehen, wie bei Verwendung des controllereigenen internen SRAMs. Nur mit dem kleinen Unterschied, dass der Adressraum nun sagenhafte 32 KB umfasst!

Die Aufschaltung des Sprachverschlüsslers an das Telefonsystem erfolgt in bewährter Weise über einen NF-Übertrager.  Der Verschlüssler trennt das reguläre Telefon von der Leitung und schaltet seinen Übertrager auf. Die Technik ist ähnlich wie bei einem analogen Modem oder Anrufbeantworter und sie ist vollkommen unproblematisch, was die Kompatibilität zu analogen Telefonanschlüssen angeht. Wegen der kurzen Umschaltzeit von wenigen Millisekunden geht eine bereits hergestellte Wählverbindung nicht verloren.
Die Zwischenschaltung in das Hörerkabel, welche man bei vielen Spielzeuggeräten vorfindet, ist übrigens keine gute Idee. Hierfür wäre eine Box mit Steckbrücken und relativ aufwendigen Anpassschaltungen erforderlich gewesen, wenn es eine universelle Lösung sein sollte und nicht nur für bestimmte Telefone eines bestimmten Herstellers passen soll. Die Anschlussbelegung von Hörerkabeln ist in Europa jedenfalls nicht genormt - hier kann jeder Hersteller sein eigenes Süppchen kochen. Es ist nicht einmal einheitlich festgelegt, welche Impedanzen die Hörkapseln und Mikrofone haben müssen. Für die Hörkapsel kommen manchmal auch Piezo-Lautsprecher zum Einsatz, und die billigen Elektret-Mikrofonkapseln gibt es in verschiedensten Ausführungen. Generell besorgt die Elektronik im Telefonapparat die Anpassung an den Leitungswiderstand im realen Telefonnetz. Diese Telefonelektronik wollten wir doch aber aus den oben erwähnten Sicherheitsgründen umgehen!
Dagegen sind die Parameter zur direkten Anschaltung eines Telefongerätes an das analoge Telefonnetz im Hinblick auf Schleifenstrom, Klingelspannung, Frequenzgang und Wählsystem weltweit harmonisiert. In der Regel reicht ein einfacher NF-Übertrager mit ungefähr passender Impedanz, um etwas telefonähnliches technisch korrekt mit einem analogen Telefon-Anschluss zu verbinden.
Bleibt noch ein technisch-ästhetisches Problem... in der EU haben sie's ja bis heute nicht fertig gebracht, einheitliche Steckdosen einzuführen, und bei den Telefondosen sind die Stecker nicht einmal mechanisch kompatibel zueinander. Eine Auswahl der absonderlichsten nationalen Telefonstecker findet sich zum Beispiel hier.

Die Gesamtkosten der hier vorgestellten Kompaktversion lassen sich locker unter 100 Euro halten. Diese Aussage gilt auch dann noch, wenn man die Spendierhosen anhat und nun unbedingt alle Teile zu Apothekenpreisen beim "großen C" bestellen sollte.


Nach oben





Zeittransposition (Transposition in der Zeitebene, "Time Domain Scrambling")


Verschlüsseln
Sprache wird blockweise elektronisch zwischengespeichert. So ein Block kann z.B. eine Sekunde Sprache aufnehmen und ist dann aber noch einmal in viele wesentlich kürzere Abschnitte adressierbar. Diese Abschnitte seien hier, analog zur klassischen Kryptografie und Nachrichtentechnik, als "Symbole" bezeichnet.
Sobald ein Block mit Sprachdaten angefüllt ist, werden die Symbole nach einer Tabelle in pseudozufälliger Reihenfolge wiedergegeben. Was dann über den Kanal gesendet wird, sind scheinbar zusammenhanglose Sprachfetzen.

Entschlüsseln
Der rechtmäßige Empfänger kennt die vom Sender verwendete Transpositions-Tabelle; sie ist der gemeinsame Schlüssel (oder besser: ein Teilschlüssel) des Kryptosystems. Der Empfänger nutzt diese Tabelle, um die ankommenden Symbole bereits zum Zeitpunkt ihres Eintreffens an der richtigen Position in seinem eigenen Zwischenspeicher abzulegen. Hat der Empfänger auf diese Weise alle Symbole eines Blockes zusammengetragen, kann er den zurückliegenden Block danach sofort wieder im Klartext abspielen.
Schema der Zeittransposition

Ein Lauscher, der das verwendete Transpositionsschema nicht kennt, sieht sich mit einer mehr oder weniger großen Anzahl von Kombinationsmöglichkeiten konfrontiert. Zunächst einmal gelten für das Puzzle aus zerhackten Lauten dieselben mathematisch-statistischen Voraussetzungen, wie etwa für eine klassische Transposition von Zeichen innerhalb eines Textblockes.


Feine Blockteilung = großer Schlüsselraum

Die Zahl der theoretisch möglichen Vertauschungen bei einer Blocktransposition ergibt sich vordergründig aus der Fakultätsfunktion der Anzahl von Positionen innerhalb eines Blockes. Das Standardbeispiel aus der Stochastik wäre "Ziehen aus einer Urne mit durchnummerierten Kugeln ohne Zurücklegen" (hypergeometrische Verteilung).

So erhält man schon in dem Beispiel mit nur 8 Positionen eine erstaunlich hohe Zahl von möglichen Symbol-Reihenfolgen:

8! = 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 = 40.320

Auf den zweiten Blick wird schnell klar, dass ein Großteil der theoretisch möglichen Transpositionen in einem 8-er-Block gar keine vernünftige Durchmischung der Symbole bewirken kann. Schlecht für kryptografische Anwendungen wären zum Beispiel alle Transpositionen, bei denen längere Symbolfolgen in ihrer ursprünglichen Reihenfolge auftreten, oder solche, bei denen allzu regelmäßig einzelne Symbole in ihrer ursprünglichen Reihenfolge auftreten. Dann besteht für einen geübten menschlicher Hörer (oder für ein sehr leistungsfähiges maschinelles Spracherkennungsverfahren) die Möglichkeit, doch noch irgendetwas herauszuhören. Schuld daran ist natürlich die hohe Redundanz der Sprache, die sozusagen als eingebaute Fehlerkorrektur dafür sorgt, dass wir phonetische Inhalte selbst unter dem Einfluss von starken akustischen Störungen noch entziffern können.
Je feiner der Block jedoch aufgeteilt ist ( die wird gelegentlich eine Teilung in mindestens 40 Positionen genannt), umso mehr mögliche Transpositionen gibt es logischerweise. Auch die Untermenge an kryptografisch wertvollen Transpositionen, die eine gute statistische Durchmischung der Symbole gewährleisten, steigt enorm an.


Kurze Symbole = erschwerte Signalanalyse
Abgesehen vom ineffizienten "Brute Force"-Vorgehen, wäre ein Angriff auf die Zeittransposition noch über die Analyse des vorliegenden Audiosignals denkbar. Der Angreifer müsste, ähnlich wie bei der klassischen Spracherkennung, zunächst einmal versuchen, die phonetisch relevanten Frequenz- und Hüllkurvenmerkmale aus dem zeittransponierten Audiosignal zu extrahieren und zu klassifizieren. Das sind DSP-Verfahren vom Feinsten. Sie nehmen allerdings relativ viel Rechenleistung in Anspruch und müssen auf die Eigenarten des anzugreifenden Transpositionssystems zugeschnitten werden. Falls es aber gelingt, die durch Zeittransposition zerstückelten Phoneme automatisch wieder zusammenzufassen und in eine Art Lautschrift zu überführen, dann hätte der Angreifer immerhin schon eine Aufstellung der vorkommenden "Buchstaben". Durch nachfolgende statistische Verfahren kann er in einem zweiten Schritt versuchen, die wahrscheinlichste Aussage zu rekonstruieren. Möglicherweise können noch weitere Korrelationen aus dem Signal abgeleitet werden, die das Vorgehen unterstützen. Angriffe dieser Art sind für einschlägig berüchtigte Schnüffelorganisationen angeblich kein Problem. (Allerdings beziehen sich solche Ausagen immer nur auf marktgängige Systeme, die alle in einem ziemlich groben Zeitraster und mit relativ kurzen Blöcken arbeiten.)
Wenn man aber ein besonders feines Zeitraster anwendet, bei dem die Symbole kürzer sind als 20 Millisekunden, dann tritt ein sehr interessanter Effekt auf: Der menschliche Hörer bemerkt, dass sich der akustische Eindruck der zeittransponierten Sprache verändert. Selbst charakteristische Laute sind plötzlich nicht mehr eindeutig aus dem Signal herauszuhören, obwohl sie ja im Signal weiterhin vorhanden sein müssten. Streckenweise bekommt man sogar den Eindruck, es handele sich garnicht mehr um menschliche Sprache, sondern um "irgendwas Synthetisches". Der Grund dürfte vor allem darin liegen, dass unser Gehirn zur Unterscheidung von Phonemen einen kontinuierlichen Höreindruck von durchschnittlich 20-50 ms Dauer benötigt. (Literaturwerte, z.B. unter [9].)
Diese 20-Millisekunden-Grenze scheint also kein reiner psychoakustischer Effekt zu sein, sondern vielmehr eine Art "Biokonstante", die den meisten menschlichen Sprachen gemeinsam ist. Das würde nun aber bedeuten, dass eine Erkennung der Phoneme anhand von kürzeren Audio-Samples selbst mit leistungsfähigsten maschinellen Verfahren generell problematisch wäre. Tatsächlich arbeiten alle gängigen Spracherkennungsverfahren heute mit kleinsten Samples von 20 ms Spieldauer. In einem deutlich kürzeren Messintervall ließen sich die Spektralkomponenten für eine Formantanalyse nicht mehr hinreichend genau bestimmen.
Dieser interessante Aspekt führt uns zur vorläufigen Schlussfolgerung:
Durch ein besonders feines Zeitraster ( tSym < 20ms ) lässt sich die Zeittransposition vermutlich gegen alle Angriffe abhärten, die auf Methoden der Phonemanalyse aufsetzen.


aufkleberLange Blöcke = hohe Komplexität
In einen längeren Zeitabschnitt passen mehr Wörter, Silben und Phoneme, als in einen kurzen Zeitabschnitt. Die besten kommerziellen Scrambler nach dem Prinzip der Zeittransposition arbeiten mit Blocklängen von immerhin bis zu einer halben Sekunde. Bei einem solchen System können ein gutes Dutzend Phoneme in jedem Block vorkommen.
Wenn wir zugunsten des Angreifers annehmen, dass er diese Phoneme mithilfe automatisierter Analyseverfahren einwandfrei bestimmen und zusammenfassen kann, dann hätte er also bereits die "Buchstaben", die er nur noch mit statistischen Mitteln zur richtigen Lösung rekombinieren müsste. Da die Information jetzt digital vorliegt, sollte dies blitzschnell möglich sein. Doch was ist das? Schon für relativ kurze Anagramme gibt es mehrere Lösungen, die statistisch ungefähr gleich wahrscheinlich sein können. Hat der Angreifer keine weitere "Kontextinformation" zur Hand, und kann er keine weiteren Korrelationen aus dem Signal ableiten, dann steht er jetzt vor einem richtigen Problem: Das Rätsel könnte prinzipiell unlösbar werden. Mit zusätzlichen Buchstaben, die im Angebot stehen, erhöht sich im Allgemeinen die Zahl der möglichen Kombinationen, die einen "Sinn machen". Diese Mehrdeutigkeit lässt sich auch nicht durch höhere Rechenleistung beseitigen.
Schlussfolgerung: Möglichst lange Blöcke ( tBlock> 0,5s ) erhöhen die Wahrscheinlichkeit, dass eine Transposition wegen Mehrdeutigkeiten kryptoanalytisch unbrechbar wird.


jt2007




Schaltunterlagen HEKTOR-kompakt Version 1.0

1. Schaltplan HEKTOR-kompakt V1.0 (Anklicken zum Vergrößern oder Herausspeichern)
HEKTOR-Kompakt Schaltplan
2. Stückliste HEKTOR-kompakt Version V1.0
------------------------------------
Stückliste HEKTOR VOICE ENCRYPTOR
Kompaktversion für Telefonbetrieb
Version 1.00
------------------------------------
05/2008 Julien Thomas, Kiel
------------------------------------

Widerstände:

R1          100k
R2-R8       470       
R9-R12      330
R13, R14    1k0
R15, R16    22k
R17         220k
R18         470k
R19         22k
R20         100
R21         15k
R22         22k
R23-R27     10k       
R28         100
R29         47k
R30         100k
R31         470


Kondensatoren:

C1-C5       100nF Kerko
C6          10nF Kerko
C7          100nF Folie (MKS)
C8          100pF Kerko
C9, C10     470nF Folie (MKS)
C11         1µF/10V Elko
C12         22nF Kerko
C13         22µF/10V Elko
C14         220nF Folie (MKS)
C15, C16    22p Kerko, NPO
C17         47µF/10V Elko
C18         47µF/25V Elko
C19         100nF Folie (MKS)
C20         1nF Kerko


Halbleiter:

VR1        7805
D1         1N4001
D2         1N4148
T1-T3      BC547C
T4         BC337-25
IC1        AVR AT90S8515-16 oder ATMEGA8515-16 PDIP
IC2        74HC(T)573
IC3        SRAM 62256 - 80ns
IC4        CMOS 4053
LED1       LED rot
LED2       LED gelb
LED3       LED grün
LED4       LED grün (alle LED Standard oder Low Current)


Sonstiges:

- IC-Fassungen für IC1-IC4
- Schwingquarz 10 MHz RM5 (HC18)
- Tastatur Matrix 3x4 (z.B. Conrad Bestnr. 709840, ggf. passenden Rahmen mitbestellen)
- Stiftleisten/Platinenstecker-Kombinationen für X1-X5
- 2x5 pol. Wannenstecker für X6 (ISP)
- Steckverbindungen zum Anschluss der LEDs
- Platine nach Layout 75 x 100 mm
- NF-Übertrager für Telefonanwendungen, Übertragungsverhältnis 1:1 bis 1:5
  DER GLEICHSTROMWIDERSTAND AUF DER HOCHOHMIGEN SEITE (a/b) MUSS MINDESTENS 100 OHM BETRAGEN.
  (z.B. Conrad NTE-1 515940, Conrad NF-Uebertrager 515701)
- Re1 - 5V/6V DIL-Relais 2fach Umschalter, Spulenwiderstand mind. 90 Ohm, z.B. von Reichelt:
  Fin30.22.9 6V (Finder), RY05 W-K (Takamisawa)
- Modular-Einbaubuchse RJ11 6-polig, z.B. von Reichelt: MEB6-6
  für TAE-N-Kabel mit RJ11-Stecker auf der anderen Seite, z.B. von Reichelt:  TAE 4NWS-I



3. Layout HEKTOR-kompakt Platinenversion V1.0, einseitig, 300dpi, 75 x 100 mm (Anklicken und Herausspeichern möglich)
Layout HEKTOR-kompakt Bestückungsplan


Nach oben


Schaltungsdetails: HEKTOR-kompakt Version 1.0


Allgemeines

Die Schaltung wird über einen konventionellen 7805-Linearregler (VR1) mit 5 Volt versorgt. Der Bereitschaftsstromverbrauch bei laufender Verschlüsselung liegt bei nur ca. 60 mA. Einen Großteil dieses Strombedarfs verursachen die LEDs, der Ruhestrom des NF-Verstärkers sowie das aufgeschaltete Line-Relais. Wenn wir hier kein allzu niederohmiges Exemplar verwenden, dann kommt die gesamte Schaltung im aktiven Betrieb nicht über 100 mA Summenstrom!

Der 7805 kann das noch ohne Kühlkörper regeln, wenn wir mit der Eingangsspannung nicht deutlich über 9V gehen. Wird ein Netzteil mit höherer Nennspannung verwendet, sollte der Spannungsregler unbedingt einen Kühlkörper spendiert bekommen!

Hinweis: Für einen Batteriebetrieb sollte die Summenspannung der Zellen noch mindestens 6 V betragen, damit eine ausreichende Stabilisierung über VR1 gegeben ist. Also benötigen wir mindestens 4 frische Alkalizellen mit 1,5 V. Diese könnten allerdings nicht voll ausgenutzt werden, denn schon bei einer Entladung auf 1,3 V würde das Spannungsgefälle nicht mehr zur Stabilisierung ausreichen.  Der ATmega macht spielt auch noch mit, aber das Line-Relais könnte eventuell nicht mehr anziehen oder gehalten werden, und die Arbeitspunkte der Verstärker würden sich verschieben. Es sollte also immer eine Form der Energieversorgung gewählt werden, die ein ausreichednes Spannungsgefälle für den Stabilisator gewährleistet. (Übrigens lassen sich Alkali-Zellen ganz wunderbar "wiederauffrischen", da gab's doch mal so einen Artikel über den Umbau von herkömmlichen Billigladegeräten...)
Ein NiCd/NiMH-Akkupack sollte aus 5 oder besser 6 Zellen bestehen (6,0V bzw. 7,2V Nennspannung), damit wäre genügend Stabilisierungsspielraum vorhanden und das Gerät kann die Akkus mit langer Laufzeit sehr gut ausnutzen.


Kryptomaschine

Herzstück ist der AVR-Mikrocontroller ATmega8515 (IC1). Die Beschreibung seiner Peripherie erfolgt anhand des Stromlaufplans zur HEKTOR-Kompaktversion im Uhrzeigersinn um den Baustein herum:

Port A
Die Leitungen PA0-PA7 sind ein 8 Bit breiter Adress- und Datenbus. Diese 8 Portleitungen führen in ihrer Funktion als Adressleitungen direkt auf das Latch IC2 und gehen parallel dazu auf die SRAM-Datenleitungen D0-D7 von IC3.

Port E
Der Ausgang PE0 liefert ein "PTT"-Signal, bei dem HIGH-Pegel für den Sendemodus steht, LOW für den Empfangsmodus.
Der Strom aus dem AVR-internen Porttreiber reicht zur Ansteuerung der Rx/Tx-LEDs und eines weiteren Logikeinganges aus. In der zweiteiligen HEKTOR-Variante wird dieses Signal auf die Steckverbindung für das jeweilige Interface herausgeführt, es müsste zur Steuerung eines Funkgerätes in der Regel ohnehin noch invertiert werden, also entweder Schalttransistor oder Optokoppler. Damit ist dann gleichzeitig ein gewisser Schutz für den Controller gegeben.
In der HEKTOR-Kompaktversion geht dieses Signal direkt auf den Steuereingang des Signalumschalters IC4 (CMOS4053).
Der Ausgang PE1 arbeitet in seiner Funktion als Address-Latch-Enable (ALE), er steuert den Adress-/Datenmultiplex über IC2 (74LS573 bzw. 74HC573).
Die Leitung PE2 liefert das Signal zur Umschaltung zwischen Transparentbetrieb und Verschlüsslerbetrieb.
HIGH entspricht verschlüsseltem Betrieb. Die an +5V liegende LED1 leuchtet demnach nur, wenn der Ausgang PE2 auf LOW steht. Dann zeigt sie durch ihr mahnendes rotes Leuchten an, dass sich der Verschlüssler noch im unsicheren Transparentmodus befindet. Dieses Signal wird zur Schaltstufe des Telefoninterfaces weitergegeben, wo es über T4 (BC337) das Line-Relais Re1 durchschaltet.

Port C
Port C liefert weitere 8 Adressleitungen, von denen aber nur 7 benötigt werden. Zusammen mit PA0-PA7 bilden PC0-PC6 also 15 Adressbits für den direkten Zugriff auf IC3 (32-kByte-SRAM vom Typ 62256).

Port D
Die Lese- und Schreibvorgänge auf das SRAM werden durch die Controllerports PD6 und PD7 (in ihrer Funktion als /WR und /RD) koordiniert.
Die Leitung PD2 dient zur Ansteuerung von LED2 (Sync).
Die Leitung PD3 ist als Eingang konfiguriert und wertet Synchronisationssignale aus. Dazu wird das über Audio-IN ankommende Signal über T1 bis in die Begrenzung verstärkt, sodass am Kollektor bereits ein Quasi-TTL-Pegel zur Verfügung steht (Kollektorwiderstand wird vom AVR-Port bereitgestellt). Die Erkennung der richtigen Synchro-Frequenzen erfolgt rein softwaretechnisch.
Leitung PD4 ist als Ausgang konfiguriert und bildet mit R22 und C9 einen Tiefpass für die Rückführung der Delta-Regelgröße auf PB3, das ist der nichtinvertierende Eingang des internen Komparators (AIN1). Vergleichsgröße für den Delta-Modulator ist natürlich das Audio-Eingangssignal, welches über C14 auf den invertierenden Eingang PB2 (AIN0) eingekoppelt und über den Spannungsteiler R15/R16 mit einem Offset von etwa der halben Betriebsspannung vorgespannt wird.
Der Ausgang PD5 liefert das Ausgabesignal (Delta-Bitstrom) an einen ähnlich dimensionierten Tiefpass (R23, C10) mit nachgeschalteter Pufferstufe (T2 und umliegende Bauteile). Der Audio-Ausgang wird unter Zwischenschaltung des Koppelkondensators C13 (47µF) zur Telefonanschaltung weitergeleitet.
(Anmerkung: Des Weiteren waren auf der ursprünglichen HEKTOR-Platine noch die Leitungen PD0 (RXD) und PD1 (TXD) auf einen 4-poligen Steckverbinder zusammen mit Vcc und GND herausgeführt. An diesen Stecker konnte man direkt einen RS232-TTL-Wandler, wie z.B. unter [7], anschließen, um die Ausgabe von bestimmten Programmteilen am PC aufzeichnen zu können. Da diese UART-Funktionen jedoch Rechenleistung kosten, wurden sie für die reguläre Nutzung des Sprachverschlüsslers wieder abgeschaltet. Die entsprechenden Zeilen zum Debugging sind aber im Programmtext noch in auskommentierter Form zu finden.)

Port B
Einerseits dienen die Leitungen PB0,1,2 (Spalten) und PB4,5,6,7 (Zeilen) zur Abfrage der angeschlossenen 3x4-Matrixtastatur. Andererseits werden die Leitungen PB2/PB3 noch als Komparatoreingänge (AIN0/AIN1) zur A/D-Wandlung nach dem Verfahren der Deltamodulation genutzt.
Darüber hinaus können PB5/PB6/PB7 auch noch als ISP-Schnittstelle (MOSI/MISO/SCK) zum Flashen des Controllers genutzt werden. Dazu wurde nun auch auf der Platine der Kompaktversion wieder ein ISP-Stecker vorgesehen, die 10-polige Steckverbindung X6. Sie entspricht der von Atmel spezifizierten Anschlussbelegung und kann also mit einem ensprechenden Programmer für serielle ISP/SPI direkt angesprochen werden (AVR-ISP, diverse Parallelprogrammer).


Telefonankopplung

Dieser Schaltungsteil entspricht weitgehend dem HEKTOR-Line-Interface (HLI), welches in der ursprünglich zweiteiligen Aufbauvariante (Artikel im FUNKAMATEUR) als separate Platine angedacht war.
Der Anschluss an das Telefonsystem muss über ein vierpoliges Kabel mit TAE-N-Stecker erfolgen. Die Anschaltung findet, wie bei Modems oder Anrufbeantwortern, durch Abwurf des Telefons und Aufschaltung des eigenen Line-Übertragers auf die Leitung statt.
Solange der Verschlüssler stromlos ist oder sich im Transparentmodus befindet, wird das Leitungspaar a/b über die Ruhekontakte des Line-Relais Re1 direkt nach a'/b' durchgeschleift (also entweder Telefonapparat oder nächstes Nebengerät).
Erst wenn der Verschlüssler in den aktiven Betrieb umschaltet, legt der Controller seine Leitung "Aktiv/Transparent" (PE2) auf HIGH und schaltet damit den Transistor T4 durch, der das Line-Relais zum Anziehen bringt. Dieses wirft den Telefonapparat ab und schaltet stattdessen den eigenen NF-Übertrager (Tr1) auf die Leitung. Der Übertrager sorgt durch seinen Innenwiderstand in der Größenordnung von 100 bis 300 Ohm dafür, dass ein normgerechter Schleifenstrom fließt und eine günstige Anpassung an den Quellenwiderstand des Telefonnetzes vorliegt.
Weil dieser Umschaltvorgang deutlich weniger als 0,1 s dauert, wird die bestehende Wählverbindung gehalten.
Nun können niederfrequente Signale in beide Richtungen übertragen werden.
Den Signalflusses zwischen Controller, Übertrager, Kopfhörer und Mikrofonverstärker steuert ein profaner CMOS-Signalumschalter (IC4, Typ 4053).
Das Mikrofonsignal aus einer Elektret-Kapsel (Headset) muss noch etwa 10-fach vorverstärkt werden, dafür ist die Transistorstufe mit T3 zuständig.

Anmerkung zum Übertrager: Das Übersetzungsverhältnis ist nicht kritisch. Es sollte sich um einen für NF/Telefoniezwecke geeigneten Übertrager mit zweifelsfreier galvanischer Trennung handeln. Recycling-Tipp: Alte Modems oder Anrufbeantworter enthalten in der Regel einen Übertrager, der sich ganz hervorragend für diese Anwendung eignet.

Anmerkung zu den Pegelverhältnissen: Die Synchronisation ist darauf ausgelegt, in einem sehr weiten Pegelbereich zu funktionieren, dafür werden die Synchro-Signale über einen begrenzenden Transistorverstärker an den Mikrocontroller geführt.
Aber auch der Pegel des Sprachsignals kann in einem weiten Bereich schwanken. Damit muss man in Telefoniesystemen ohnehin rechnen, und die Deltamodulation verhält sich bei zu hohem Eingangspegel recht unproblematisch. Während Mehrbit-Codecs, wie PCM, bei Übersteuerung sehr unangenehme Clipping-Artefakte erzeugen, geht die Deltamodulation dann eher "analog-like" in eine sanfte Begrenzung, und die Verzerrungen halten sich in Grenzen.


Nach oben



Anschlüsse auf der Platine HEKTOR-kompakt

X1
Anschluss einer unstabilisierten Gleichspannungsquelle 6-9 V, Belastbarkeit etwa 250 mA.
Die Spannung sollte aus einem sauberen Netzteil oder (bei Funkanwendungen) aus Batterien stammen.
X2
Hier wird eine 3x4-Matrixtastatur angeschlossen, über die die Schlüsseleingabe stattfindet und wesentliche Gerätefunktionen gesteuert werden (Z.B. eine Taste als Sprechtaste).
X3
Analoger Endgeräteanschluss - hierfür sollte ein 4-poliges Kabel mit TAE-N-Stecker benutzt werden, damit der Verschlüssler als Nebengerät die Leitung exklusiv benutzen kann (wie Modem oder Anrufbeantworter).
X4
Mikrofon-Eingang zum direkten Anschluss einer 2-poligen Elektret-Mikrofonkapsel bzw. Mikrofon des Headsets
X5
Kopfhörer-Anschluss, vorzugsweise hochohmiges Exemplar für Sprachwiedergabezwecke, z.B. Kopfhörer eines PC-Headsets
X6
ISP-Anschluss (2x5-polige Stiftleiste) nach Atmel-Spezifikationen
LED
1-4
Vier zweipolige Steckverbinder für den direkten Anschluss von Status-LEDs
zur Anzeige der verschiedenen Betriebszustände.

Nach oben



Hinweise zum Nachbau

Das Gerät lässt sich problemlos mit Amateurmitteln aufbauen, zumal hier ausschließlich bedrahtete Bauteile zum Einsatz kommen. Die einseitige Platine stellt an den Ätzvorgang nur mäßige Anforderungen. Sogar mit dem Toner-Transferverfahren könnte es noch klappen (sofern man wirklich gut ist). Die Herstellung nach dem Fotoverfahren ist vollkommen unproblematisch.

Für das Flashen des Mikrocontrollers gibt es den 10-poligen ISP-Stecker (hier mit X6 bezeichnet). Hier können wir jeden Programmer für das serielle Programmieren von AVRs anschließen. Beim Flashen der Fusebits und der Firmware bitte unbedingt die Hinweise weiter unten beachten!

Für die Steckverbindungen auf der Platine kommen verschiedene Systeme im Rastermaß 2,54 mm infrage. Auch Selbstgebasteltes aus SIL-Sockelleisten, Litze und Heißkleber kann verwendet werden. Keine der Steckverbindungen führt hochfrequente oder sonstwie kritische Signale. Die Anschlüsse für Betriebsspannung (X1), Tastatur (X2) und Telefonanlage (X3) sollten jedoch einigermaßen stabil und rutschsicher ausgeführt sein.

Ein Quell immerwährender Freude ist sicher auch hier wieder der mechanische Zusammenbau. So benötigt die Zahlentastatur einen passgenauen Gehäuseausbruch, was der geübte Laubsäger natürlich mit links und mit nur geringem Nachbearbeitungsaufwand hinbekommt... Wer darauf keinen Bock hat, sollte für die Tastatur gleich den überteuerten Rahmen mitbestellen. Der bessere optische Eindruck, den das Gerät dann später macht, entschädigt für alles!

Beim Anschluss der Matrixtastatur ist auf die richtige Zuordnung von Pin 1 (erste Spalte, im Stromlaufplan Leitung A1) zu achten, falls das Kabel auf der Tastaturseite direkt angelötet werden soll. Hierzu sei angemerkt, dass die Tastatur von C**rad keine Pin-1-Markierung hat und auch das dazugehörige "Datenblatt" nicht so aussagekräftig ist. Um die Raterei etwas abzukürzen: Wenn wir die Tastatur seitenrichtig vor uns liegen haben und sie dann umdrehen, dann liegt auf der Rückseite Pin 1 rechts.

Für den Anschluss des TAE-Kabels gibt es mehrere Optionen. Ein direktes Festlöten auf der Platine ist nicht empfehlenswert. Es sollte mindestens für X3 eine 4-polige Steckverbindung dazwischen gesetzt werden. Ich selbst verwende RJ11-Einbaubuchsen und beschalte diese so, dass ein genormtes TAE-N-Modemkabel angeclippt werden kann. Das bedeutet: Die Adern a/b liegen auf den beiden mittleren Anschlussfedern (3/4), die Adern a'/b' liegen auf den weiter außen liegenden Anschlussfedern (2/5). Eventuell vorhandene weitere äußere Anschlüsse (1/6) müssen unbeschaltet bleiben. Selbstverständlich wäre auch jede andere "Hausnorm" möglich, is' ja'n freies Land oder so, aber dann bitte nicht wundern, wenn die Sache nur bei Vollmond mit einem bestimmten Anschlusskabel funktioniert!

Es sei noch darauf hingewiesen, dass selbstgebaute Telefongeräte ganz bestimmt nur an private Nebenstellenanlagen angeschlossen werden dürfen ;-)


Nach oben



Tests

Die Software beinhaltet einen elementaren Testmodus, welcher direkt nach dem Einschalten, einem Hardware-Reset oder nach dem Neustart des Programms mit der Taste " # " aktiviert werden kann.

Dann schreibt das Programm den gesamten Speicher mit einem bestimmten Bitmuster voll und erzeugt durch kontinuierlichen Lesezugriff über das gesamte RAM das Signal für "Blockstart" (ca. 1,5 kHz). Dieses Signal wird jedoch, abweichend vom sonstigen Betrieb, direkt auf den Kopfhörer geschaltet.
Die qualitative Bewertung ist also schon per Ohr möglich: Der Ton sollte gleichmäßig und relativ weich klingen (kein Rechteck-Charakter, eher Dreieck, wenig Oberschwingungen). Frequenzschwankungen dürfen nicht vernehmbar sein, diese würden auf eine unstabile Taktversorgung hindeuten.

Messsignale im Testmodus
Wenn dies soweit alles zutrifft, haben wir folgende Gewissheiten: Das Programm ist lauffähig; der AVR läuft mit dem externen 10-MHz-Quarz; Verstärker, Signalumschaltung und Übertrager funktionieren. Gut gemacht!




Funktionstest

Nun möchten wir sicher schonmal das Ver- und Entschlüsseln testen, bevor wir unsere Organisation mit mehreren Geräten ausrüsten... Für den Test ist auch nicht unbedingt ein zweites Gerät erforderlich. Es genügt, eine verschlüsselte Sendung aufzunehmen, denselben verwendeten Schlüssel noch einmal einzugeben und dann die verschlüsselte Aufnahme in das Gerät einzuspielen.

Mit einem alten Diktiergerät oder einem schlechten Cassettenrecorder könnte es schiefgehen (Gleichlaufschwankungen). Mit einem guten Cassettendeck, einem Tonbandgerät, einem digitalen Diktiergerät oder mit der Soundkarte des PC sollte es klappen.

Das HEKTOR-Synchronisationsverfahren kann Laufzeitschwankungen von bis zu 20 ms ausgleichen. Die Audiopegel sind wie schon erwähnt nicht sehr kritisch. Wichtig ist, dass das Programm bei Aufnahme und Wiedergabe wirklich kontinuierlich aufnimmt bzw. wiedergibt. Wenn beim Abspielen vom PC winzige und per Ohr kaum wahrnehmbare Pausen entstehen, weil die Systemauslastung zu hoch ist, kann es nicht sauber funktionieren.

Aufnahme: Signal von den Adern a/b (X3-2 und X3-3) direkt auf einen LINE-IN der Soundkarte oder des Aufnahmegerätes geben. Polung egal. Sprechtaste drücken und kompletten Durchgang von mindestens 10 Sekunden mitschneiden.

Wiedergabe: Adern a/b mit dem Lautsprecherausgang bzw. LINE-OUT des Aufnahmegerätes verbinden. Polung egal. Aufnahme wieder einspielen.

Wichtig: Dabei nicht vergessen, den Verschlüssler vor dem Wiedereinspielen einer Testaufnahme nochmal mit dem verwendeten Code neu zu initialisieren - ansonsten läuft das Codeschema natürlich weiter und wir werden uns trotz einwandfreier Synchronisation nicht wiedererkennen...!



Nach oben
 


Zur Bedienung

Allgemeiner Ablauf

Betriebsarten aktuelle HEKTOR-Firmware

STATUS
Optionen
LED1
Trans
(rot)
LED2
Sync
(gelb)
LED3
Rx
(grün)
LED4
Tx
(grün)
Kopfhörer
Testmodus Einschalten,
# drücken
leuchtet
aus
leuchtet
aus
Dauerton
Transparent
Neustart mit *
leuchtet
aus
leuchtet
aus
Startquittung
dreimal Kurz
Schlüssel-
eingabe
Neubeginn mit *,
Eingabe max. 16 Ziffern,
Bestätigen mit #
leuchtet
aus
leuchtet
aus
Bestätigungstöne
für jeden Tastendruck
Bereitschaft
Sprechen mit 0
Neustart mit *,
aus
leuchtet
leuchtet
aus
kein Ton
Hören
Zurück in Bereitschaft (Meilenstein) mit #
Neustart mit *
aus
blinkt
leuchtet
aus
Gegenstelle
Sprechen
Taste 0 gedrückt halten
Neustart mit *
aus
blinkt
aus
leuchtet
kein Ton



Synchronisation

Die hier praktizierte Methode der Blocksynchronisation hat sich wohl gerade wegen ihrer Primitivität als ausgesprochen störungsresistent und zuverlässig erwiesen. Auf einigermaßen brauchbaren Verbindungen kann es im Prinzip nicht dazu kommen, dass die Transpositionstabellen "auseinander laufen".
Das System synchronisiert sich mit jedem Block neu, also im Sekundenabstand. Sollte diese Blocksynchronisation zeitweise ausfallen, weil genau an der Stelle eine Leitungsunterbrechung oder eine größere Störung aufgetreten ist, kann das System durchaus ein paar Blöcke mit der Ganggenauigkeit der lokalen Quarzoszillatoren überbrücken. Sobald wieder ein sauberes Synchro-Signal eintrifft, das sich gerade noch im Zeitfenster befindet, ist die genaue Synchronisation wiederhergestellt. Die folgenden Blöcke lassen sich dann wieder problemlos entziffern.
Bei vorübergehenden Übertragungsstörungen kann abgewartet werden, bis der sendende Teilnehmer mit seinem Durchgang fertig ist. Auch dann ist die Tabellensynchronisation noch zu retten, ohne dass ein Neustart erforderlich wäre. (Wie der Trick funktioniert, steht in den Überlegungen zur Sicherheit - Tabellensynchronisation.)

Mit diesem einfachen Protokoll ist es im Prinzip sogar möglich, dass mehr als zwei Teilnehmer verschlüsselt kommunizieren. Diese Variante wurde aber zugegebenermaßen noch nicht ausführlicher getestet. Bei einer Dreierkonferenz oder QSO-Runde müsste man sich schon auf eine feste Sprechreihenfolge einigen, um "Kollisionen" zu vermeiden.

Schlüsselvereinbarung

Da es sich bis auf Weiteres um ein klassisches symmetrisches Kryptosystem handelt, bleibt das alte Problem der Schlüsselvereinbarung, für die im Vorfeld ein sicherer Kommunikationskanal benötigt wird. In Zeiten von E-Mail und PGP sollte dies nun wirklich kein Problem mehr sein. Zur sicheren Übermittlung von ein paar Zahlen tut's vielleicht auch schon ein gutes (!) Stegano-Tool.
Oder die wohl bequemste Variante: einfach im Laufe einer verschlüsselten Kommunikation weitere Schlüssel oder Regeln vereinbaren!

Schlüsselmanagement

Sicher ist es nicht jedermanns Sache, gleich mehrere 16-stellige Schlüssel im Kopf zu behalten. So reicht in Friedenszeiten vielleicht schon eine Zusammensetzung aus "nur" 8-stelliger Geheimzahl plus Datum, um auf bequeme Weise für jede Sitzung einen neuen Tagesschlüssel zu bekommen. Ganz primitiv zum Beispiel so:

Geheimzahl:   12345678
Datum:        20080601
Eingabe:     *1234567820080601#



Hardwaresicherheit

Wenn eine Krypto-Hardware schon mit memorierbaren Schlüsseln arbeitet, dann sollte sie selbst vollkommen "gedächtnislos" angelegt sein! Eine Speicherung von Schlüsselkomponenten im EEPROM des Controllers oder gar auf externen Chipkarten wird daher nicht unterstützt.
Eine gedächtnislose Krypto-Maschine kann von jedermann ausgeliehen und gefahrlos benutzt werden, ohne dass es nach dem Abschalten der Betriebsspannung noch irgendwelche Datenspuren gäbe. Durch Unterbrechung der Betriebsspannung werden gewissermaßen automatisch "die Walzen in Ausgangsstellung gebracht", sodass bei Verlust oder Diebstahl der Maschine kein Aufdeckungsrisiko für das Schlüsselschema besteht. (Das ist übrigens auch der Grund, weshalb ich auf der Hauptplatine für die Betriebsspannung keine größeren Stützkondensatoren vorgesehen habe!)


Nach oben




Überlegungen zur Sicherheit

An dieser Stelle werde ich alle wichtigen Parameter der hier vorgeschlagenen Lösung genauer erläutern. Aussagen zur praktischen Sicherheit mache ich nur dort, wo es Vergleichsmöglichkeiten zu kommerziellen oder militärischen Systemen mit bekannten Eigenschaften gibt. Es liegt in der Natur der Sache, dass einige meiner Aussagen reine Spekulation sind!

Parameter der Zeittransposition

Teilung in 128 Positionen
Die Teilung eines jeden Blockes in 128 Positionen liegt deutlich weit über dem, was bekannte Systeme zu bieten haben.
Eine Teilung in 128 Positionen bedeutet, dass es rein rechnerisch n=128! Möglichkeiten der Vertauschung gibt. Das ergibt sagenhafte 3,86 * 10215 Transpositionstabellen - eine verdächtig große Zahl, die wir auch gleich wieder vergessen können, denn sie ist ausschließlich von theoretischem oder schlechterdings von kommerziellem Interesse.
Für Transpositionschiffren im Allgemeinen und für die Audio-Zeittransposition im Besonderen gilt, dass man natürlich nur solche Transpositionstabellen verwenden sollte, die eine möglichst gute Durchmischung der Symbole gewährleisten. Es darf vor allem nicht vorkommen, dass zu viele Symbole allzu regelmäßig in ihrer ursprünglichen Reihenfolge auftreten. Dann wäre es nämlich für einen geübten menschlichen Hörer möglich, aus dem Signalgemisch doch einen Inhalt herauszuhören (und dies ist dann eventuell auch mit einem hochentwickelten maschinellen Verfahren möglich). Andererseits kommt für den Abhörgegner erschwerend hinzu, dass das "Störsignal" (also Sprachfetzen, die an der falschen Stelle stehen), sich qualitativ überhaupt nicht vom "Nutzsignal" (also Sprachfetzen, welche zufällig an der richtigen Stelle stehen) unterscheidet. Bei langen Transpositionsblöcken erhöht sich außerdem die Wahrscheinlichkeit, dass man aus dem zeittransponierten Signal irgendwas heraushören kann (Mehrdeutigkeit). Der hier vorgeschlagene Algorithmus für den Tabellengenerator soll mit seinen 1016 Startbedingungen einen soliden Kernbereich von wirklich guten Transpositionsschlüsseln abdecken.

Blocklänge 1,3 Sekunden
In einer Sekunde lassen sich ganze Sätze unterbringen - nicht nur in Norddeutschland. Jeder einzelne Block enthält mit hoher Wahrscheinlichkeit eine Auswahl der gebräuchlichsten Phoneme. Bei flotter Sprechgeschwindigkeit können wohl bis zu 50 Phoneme in einem Block zusammenkommen.
Sollte es einem übermächtigen Angreifer mithilfe eines genialen maschinengestützten Verfahrens doch gelingen, alle vorkommenden Phoneme bzw. ihre Bruchstücke aus einem Block eindeutig zu identifizieren, zusammenzufassen und zu katalogisieren, dann hätte er so etwas wie eine Liste von "Buchstaben". Diese könnte er mithilfe statistischer und schließlich kryptoanalytische Methoden (z.B. Häufigkeitsanalyse, Wörterbuchverfahren) angreifen. Möglicherweise gelingt auch die Auswertung weiterer Korrelationen, die sich vielleicht (nach meiner Einschätzung eher nicht) aus dem Signal ableiten lassen, zur wahrscheinlichsten Aussage rekombinieren.
Anders, als bei den kommerziellen Spielzeuggeräten haben wir hier aber ziemlich lange Blöcke! Somit stehen auch recht viele Buchstaben im Angebot, sodass es in der Regel mehrere Lösungen von höherer statistischer Evidenz gibt. In vielen Fällen dürfte das Buchstabenrätsel dann schlichtweg unlösbar werden, weil sich diese Mehrdeutigkeit auch mit beliebig gesteigerter Rechenleistung nicht mehr auflösen lässt. Natürlich kann man auf einer noch höheren Ebene versuchen, den "Kontext" aus vorherigen Blöcken zur Interpretation heranzuziehen. (Bedenken wir den armseligen Stand der künstlichen Intelligenz, so ist zu vermuten, dass der Angriff auf jeden Fall mit einem hohen Anteil von "Handarbeit" einher geht, also für den Angreifer einen hohen Zeit- und Personalaufwand bedeutet.)

Symbollänge 10 Millisekunden
Ein ernsthafter Angriff auf die Zeittransposition, der nicht auf Brute-Force beruht, wäre durch Signalanalyse hinsichlich der phonetischen Komponenten wohl vorstellbar. Die Anforderungen sind auf jeden Fall deutlich höher, als für eine "gewöhnliche Spracherkennung". Diese stützt sich normalerweise auf die starke zeitliche Korrelation zwischen aufeinanderfolgenden Samples.
Genau dieser Zusammenhang wird durch die Zeittransposition weitgehend aufgelöst. Der Gegner bräuchte demnach ein Spracherkennungssystem, das die phonetischen Komponenten punktuell und dabei noch treffsicher ermitteln kann. Das sind Forderungen, die sich teilweise widersprechen.
Die bekannten Verfahren zur Phonemanalyse beruhen auf der Erkennung der sogenannten Formanten (das sind die charakteristisch vorherrschenden Frequenzkomponenten bei den verschiedenen Vokalen und Konsonanten) sowie der Hüllkurve (Amplitudenverlauf beim Sprechen).
Zur Erkennung eines Phonems ist in der Regel ein Messintervall von mindestens 20 Millisekunden erforderlich; die meisten konventionellen Spracherkennungsysteme arbeiten in eben diesem Zeitraster.
In einem gröberen Zeitraster würden die Feinheiten verloren gehen und Übergänge zwischen den Phonemen könnten verschluckt" werden. In einem engeren Zeitraster funktioniert die Frequenzanalyse nicht mehr ausreichend treffsicher, sodass die Phoneme nicht genau genug unterscheidbar sind.

Was liegt also näher, als unser System mit einer Symbolrate von deutlich unter 20 ms auszustatten!
HEKTOR arbeitet mit Symbolen von durchschnittlich 10 ms Spieldauer, deren Länge zusätzlich dynamisch verändert wird. Durch die Variation des Zeitrasters kommt es zu einer Verschleierung der Symbolgrenzen und der mittleren Sprachfrequenz. Aufgrund der allgemein recht kurzen Symboldauer ist das Signal höchstwahrscheinlich keiner konventionell angelegten Phonemanalyse mehr zugänglich.


Schlüsselraum

Der Schlüssel wird als bis zu 16-stellige Dezimalzahl über den Zehnerblock am Gerät eingegeben. Der nutzbare Schlüsselraum umfasst also einen Wertebereich von 1016 verschiedenen Startbedingungen.
Ins Binärsystem umgerechnet entspricht dies einer Schlüssellänge von "nur" ungefähr 53 Bit. Wegen der analogen Eigenschaften und der damit verbundenen Komplikationen bei der Auswertung des übertragenen Signals ist das aber, wie schon erwähnt, eine ganze Menge.
Ziel des Permutations-/Transpositionsalgorithmus ist zunächst einmal, dass jede erzeugte Transpositionstabelle eine möglichst gute (d.h. statistisch gleichmäßige) Durchmischung der Symbole erreicht. Der Schlüsselraum sollte außerdem "echt" sein, d.h. zwei Schlüssel, die sich in nur einer Ziffer unterscheiden, oder auch zwei beliebig herausgegriffene Schlüssel aus der Menge aller möglichen Schlüssel, sollten garantiert unterschiedliche Sequenzen von Transpositionstabellen hervorbringen. Auch dürfen sich die Schlüsselsequenzen nach einer realistischen Laufzeit nicht überlappen.

Zu den Erfolgsaussichten für "Brute-Force": Wenn die oben genannten Bedingungen erfüllt sind, und es spricht einiges dafür, dann gibt es für das Durchprobieren aller Schlüssel keine effektive "Abkürzung". Der Angreifer müsste also durchschnittlich den halben Schlüsselraum durchsuchen. Das wären bei diesem System etwa 5 Billiarden Schlüssel.
Die Nachbildung des HEKTOR-Schlüsselschemas ist an sich trivial. Sie erfordert auch nur relativ wenig Rechenaufwand und auch kein ganzes Rechenzentrum... Zusätzlich bräuchte der Angreifer jedoch ein automatisierbares Verfahren, das einen phonetischen "Treffer" sicher und zuverlässig erkennen kann. Das ist weniger trivial. Dieses fiktive Supa-Dupa-Spracherkennungsverfahren müsste blitzschnell entscheiden können, ob ein auf "gut Glück" entschlüsselter Block (und die darauf folgenden Blöcke) auch wirklich sinnvoll entschlüsselt wurde. Und "blitzschnell" bedeutet in diesem Fall: das System sollte schon pro Sekunde mindestens 58 Milliarden Schlüssel durchprobieren können, wenn der Angriff innerhalb von 24 Stunden erfolgreich sein soll. Angesichts der "Leistungsfähigkeit" bekannter Spracherkennungssysteme ist diese Forderung selbst unter Einsatz massiver Rechenkapazitäten noch immer sehr unrealistisch. Wenn also kein wesentlich effektiverer Ansatz zur analogen Signalanalyse existiert, dürfte die Forderung nach taktischer Sicherheit von diesem System problemlos erfüllt werden.

Tabellengenerierung

Der 16-stellige Initialschlüssel wird direkt im BCD-Format in ein softwaremäßig implementiertes rückgekoppeltes Schieberegister (Linear Feedback Shift Register, LFSR) mit der Länge 64 Bit übernommen.
Das verbesserte LFSR (Firmware 2013) arbeitet mit XOR-Rückführungen an den Positionen 64, 63, 61 und 60. Es liefert eine pseudozufällige Bitsequenz, die sich erst nach einer Lauflänge von 264-1 Taktschritten zum ersten Mal wiederholen würde.
Auf der Basis dieser Pseudozufallsbits wird die Transpositionstabelle nun mit jedem Blockwechsel neu umgestellt, und zwar gründlich.
Für eine einzige neue Tabelle werden 1664 Pseudozufallsbits aus dem LFSR gezogen, obwohl hierfür nur mindestens 1024 Bits erforderlich gewesen wären.
Durch diese Großzügigkeit lässt sich die verbliebene Autokorrelation der LFSR-Bits weitgehend kompensieren. Die Umsetzung in eine neue Transpositionstabelle bekommt Eigenschaften einer Einwegfunktion, d.h. von einer existierenden Tabelle kann kein eindeutiger Rückschluss mehr auf die zugrundeliegende PN-Bitfolge gezogen werden. Das bedeutet wiederum, dass der Initialschlüssel selbst dann nicht kompromittiert ist, wenn dem Angreifer zwei aufeinander folgende Transpositionstabellen genau bekannt wären.
Noch einmal zur Klarstellung: Das Schlüsselschema liefert nicht etwa "nur" 1016 unterschiedliche Tabellen insgesamt, sondern es liefert 1016 unterschiedliche Tabellensequenzen aus der Menge von 128! möglichen Tabellen.
Weitere Aussagen, die eine genauere mathematische Analyse vertragen könnten, aber bis auf Weiteres "nur" auf Erfahrungen mit ähnlichen Verfahren beruhen: Zwei Reihen von Transpositionstabellen, welche von unterschiedlichen Initialschlüsseln abgeleitet wurden, werden sich vermutlich niemals überlappen und alle verwendbaren Dezimalschlüssel führen auch zu kryptografisch brauchbaren Transpositionstabellen.


Frequenzvariation

Die reine Zeittransposition lässt auch bei sehr feinem Zeitraster noch einige charakteristische Frequenzkomponenten der Sprecherstimmen durchkommen. Diese könnten beispielsweise zur Identifikation von Sprechern genutzt werden. Möglicherweise lassen sich auf diesem Weg auch Korrelationen zwischen den Symbolen herauskitzeln, die durch Schmutzeffekte bei der A/D-Wandlung oder auf Mischprodukte von Sprach- und Symbolfolgefrequenz entstanden sind.
Da liegt es nahe, auch die Frequenzkomponente nach einem Pseudozufallsschema zu beeinflussen! Im Rahmen der vorliegenden Hardware wird dies erreicht, indem wir die Abtastraten für A/D- und D/A-Wandlung nach einem Pseudozufallsschema variieren, sodass sich die Aufnahmegeschwindigkeit relativ zur Wiedergabegeschwindigkeit ständig verändert, und abhängig zusätzlich von der jeweiligen Position des transponierten Sprachfetzens.

Hierzu ein wichtiger Hinweis: Ähnlich wie bei der Frequenzinversion (Mischung mit anderen Frequenzen und Herausfiltern der unerwünschten Seitenbänder) erhält man durch alleinige Modifikation der Samplingfrequenzen kein vollkommen unverständliches Signal. Die Operation ist auch eher mit einem schneller oder langsamer laufenden Tonband zu vergleichen, also allein für sich angewandt noch nicht einmal ein besonders mächtiges Verschleierungsverfahren.
Allerdings entstehen auch keine neuen Mischprodukte bzw. Spiegelfrequenzen, die man vor der Übertragung aufwendig herausfiltern müsste.
Als Ergänzung zur Zeittransposition verspricht die Frequenzvariation einen Sicherheitsgewinn, da die Symbole von ehemals zusammengehörigen Lauten jetzt nicht nur an unterschiedlichen Positionen auftreten, sondern auch mit unterschiedlichen Frequenzen. Mögliche Korrelationen zwischen den Sprachfetzen, die die Zeittransposition nicht aufgelöst hat, sollten nach durch Anwendung der Frequenzvariation weitgehend beseitigt sein. Effektiv wird durch diese Operation auch das Audiospektrum des verschlüsselten Signals verbreitert; dies ist wünschenswert, da es die Robustheit des Signals gegenüber möglichen Störungen verbessert.

In der vorliegenden Implementierung wird die Symboldauer und die Tonhöhe der stimmhaften Laute um bis zu +/-50% variiert, was in etwa dem Frequenzumfang einer Oktave entspricht. Eine größere Schwankungsbreite ist auch nicht sinnvoll, da das Signal ansonsten aus der zur Verfügung stehenden Übertragungsbandbreite herausfallen könnte.
Das Pseudozufallsschema zur Frequenzvariation liegt in der gegenwärtigen Umsetzung ebenfalls als Tabelle aus 128 Zufallswerten vor. Diese wird, vom Transpositionsschema unabhängig, mit jedem Durchgang gewechselt.

Synchronisation

Dogma: Zu keinem Zeitpunkt sollen irgendwelche Schlüssel-Informationen übertragen werden!

Wenn schon ein symmetrisches Schlüsselschema mit memorierbaren Schlüsseln verwendet wird, dann bedeutet jede Übertragung von Meta-Informationen eine Verschlechterung der Sicherheit.
Unser System überträgt lediglich drei einfache Synchronisationssignale: ein Startsignal für den Beginn des Durchganges, ein wiederkehrendes Signal zur Blocksynchronisation, ein Stoppsignal für das Ende des jeweiligen Durchganges.

Diese Signale identifizieren sich über ihre Frequenz und/oder ihre Dauer. Sie enthalten also nicht mehr Information, als unbedingt notwendig.

Die Frequenzen der Synchro-Signale wurden nach technischen Überlegungen gewählt: Insbesondere die Frequenz der Blocksynchronisation musste relativ hoch gewählt werden, um eine präzise auf wenige Millisekunden genaue Synchronisation zu ermöglichen. Andererseits sollte diese Frequenz nicht über 2400 Hz liegen, damit sie auch auf funkgestützten Telefonsystemen noch voll im Übertragungsbereich mit der geringsten Dämpfung liegt.
Mit Frequenzen zwischen 1200-1800 Hz fährt man hier erfahrungsgemäß am besten. Die genauen Frequenzen für Blockstart/Synchro/Ende ergeben sich aus der Programmierung (Taktfrequenzen, Unterscheidbarkeit der Töne).


Tabellensynchronisation

Dogma: Zu keinem Zeitpunkt sollen irgendwelche Schlüssel-Informationen übertragen werden!

Auch dann nicht, wenn der Gleichlauf der Transpositionstabellen durch eine massive Störung durcheinander gekommen ist.
Falls eine Störung ungünstig auf den Synchro-Impuls fällt, und es dem Empfänger nicht gelingt, einen der folgenden Block-Synchros zu "erwischen" (weil beispielsweise die Taktfrequenzen relativ stark voneinander abweichen), so kann der Gleichlauf verloren gehen.
Eine Entschlüsselung des restlichen Durchgangs ist dann dummerweise nicht mehr möglich.

Ein Rückfall in die unverschlüsselte Übertragung und anschließender Neustart (wohlmöglich mit demselben Tagesschlüssel) wären aber noch dummer. Aus Sicherheitsgründen wäre es wesentlich besser, wenn in einem solchen Fall beide Geräte unabhängig voneinander einen neuen Schlüssel generieren. Und das sollte selbstmurmelnd ohne die Übertragung irgendwelcher Meta-Informationen über die Bühne gehen.

Diese Forderungen ließen sich schließlich auf verblüffend einfache Weise umsetzen:
Wenn eine massive Störung die Entschlüsselung beim Empfänger durcheinander bringt, dann wird der sendende Teilnehmer davon erst einmal nichts mitbekommen. Er wird seinen Durchgang normal fortsetzen. Irgendwann lässt er die Sprechtaste los und geht wieder in den Bereitschaftsmodus, weil er auf eine Antwort wartet.
Der Empfänger bemerkt im Laufe dieses Durchganges, dass die Entschlüsselung gestört wurde, bleibt aber cool. Er wartet ab, bis sein Gerät das noch wesentlich robustere Signal für Durchgangs-Ende automatisch erkennt und seinerseits in den Bereitschaftsmodus zurückschaltet. (Falls die automatische Erkennung nicht klappt, kann der Empfänger durch Drücken der Taste "#" seinen Empfangsmodus auch manuell beenden. Das Durchgangs-Ende-Signal lässt sich als Dauerton charakteristisch aus dem Signalgemisch heraushören.)
Es gibt also einen Moment, in dem sich beide Teilnehmer ungefähr zum selben Zeitpunkt wieder im Bereitschaftsmodus befinden. Diese Tatsache lässt sich nutzen, um wieder einen Synchronzustand herzustellen. Beide Geräte machen einfach nach jedem Übergang vom Sende- oder Empfangsmodus in den Bereitschaftsmodus eine größere Anzahl von Tabellen-Transpositionen.
Dabei wird keine feste Anzahl von Tabellen transponiert, sondern immer bis zur nächsten vollen 128er-Einheit ("Meilenstein") gerechnet. Durch dieses "Aufrunden" lassen sich selbst massive Abweichungen von mehreren Tabellen wieder ausgleichen, und die Wahrscheinlichkeit, dass es nicht klappt, weil ein Teilnehmer bereits die nächste 128er-Packung angebrochen hat, liegt bei unter einem Prozent.
Witz bei der Sache: Der Neuabgleich der Tabellen funktioniert, ohne dass über den unsicheren Kanal irgendwelche zusätzlichen Informationen ausgetauscht werden müssen!


Vorteile der analogen Übertragung

Das analog verschlüsselte Audiosignal kommt weitgehend ohne digitale Codierung aus. Die einzigen "digitalen" Komponenten (im Sinne einer eindeutigen Auswertbarkeit) sind die drei Synchronisationssignale.
Möchte der Angreifer mehr Informationen gewinnen, ohne den Schlüssel zu kennen, dann muss er sich schon mit dem analogen Signal beschäftigen. Vor einem kryptoanalytischen Angriff muss die Nachricht in geeigneter Form digitalisiert und dabei möglichst signaltheoretisch auseinander genommen werden, um gezielt anauch beginnt also erst einmal mit signaltheoretischen Überlegungen und einer Überführung in eine geeignete digitale . Dieser Besonderheit erzielt man mit einem analogen oder quasi-analogen Verfahren eine

Schon das Aufzeichnen einer nicht digital modulierten Übertragung ist bekanntlich mit dem ersten Informationsverlust (Quantisierungsfehler, überlagerte Rauschkomponenten) behaftet. Die analogen Störfaktoren arbeiten gegen einen Angreifer, denn sie verschlechtern den Signal-Rauschabstand für ihn in einem höheren Maß, als für den berechtigten Empfänger.

Der berechtigte Empfänger hat es da wesentlich leichter. Sobald er eines der Synchronisationssignale sauber erkannt hat, kann er die richtigen Tabellen für Transposition und Frequenzvariation zum richtigen Zeitpunkt anwenden, und das Signal bis zum nächsten Synchro "blind" entschlüsseln. Da die Zeitsynchronisation gewisse Toleranzen zulässt, funktioniert die Entschlüsselung mit dem richtigen Schlüsselschema selbst dann noch, wenn die Übertragung zwischenzeitlich sehr stark gestört war oder komplett ausgefallen ist. Im Gegensatz zu volldigitalen Verfahren kommt es dann nicht zu vollständigen Aussetzern oder einer Fehlerfortpflanzung. Wie weiter oben erläutert, müssen auch keine Daten zur Neusynchronisation übertragen werden.
Selbstverständlich wirken sich Störungen in einer Analogübertragung als hörbare Störgeräusche aus. Diese werden von unserem "psychoakustischen Biocomputer" jedoch ganz hervorragend herausgefiltert. Gegenüber volldigitalen Alles-oder-Nichts-Codierungen hat die Zeittransposition so einige Vorteile bezüglich der "Usability".

Zur Verwendung von Deltamodulation als internem Codec:


Mögliche Schwachstellen des Verfahrens

Die Schutzwirkung der Zeittransposition lässt bei besonders langsamer Sprechgeschwindigkeit nach. Bei langsamem Sprechen kommen nur wenige unterschiedliche Phoneme in einem Block zusammen, und damit lässt sich der erwähnte Effekt der Mehrdeutigkeit nicht ausnutzen.
Auch wäre es denkbar, dass man mit den bereits angesprochenen phonetischen Analyse- und Angriffsstrategien durchaus einen Block "knacken" kann, der nur wenige Silben enthält. Andererseits sind damit wiederum nur wenige Informationen zu gewinnen, und durch das hier verwendete Verfahren zur Generierung der Transpositionstabellen ist außerdem sichergestellt, dass das Auflösen eines einzelnen Blockes keinen Rückschluss auf die vorherige/nächste Transpositionstabelle oder auf den Initialschlüssel zulässt.

Die angewandte Methode zur Frequenzvariation lässt sich möglicherweise noch verfeinern. Das ursprüngliche Ziel einer Verbreiterung des Signalspektrums wird bereits mit der vorliegenden Variante erreicht, das kann man hören und anhand von Spektrogrammen objektiv nachweisen. Allerdings sind in der vorliegenden Implementierung die Samplingfrequenzen für Aufnahme und Wiedergabe über ein- und denselben Interrupt aneinander gekoppelt. Aus diesem Grund kann man in der derzeitigen programmiertechnischen Umsetzung für einen Durchgang auch immer nur ein- und dieselbe Frequenztabelle benutzen, weil ansonsten das Last/First-Prinzip bezüglich der Abspielfrequenzen nicht eingehalten werden kann. Ich gehe davon aus, dass die Frequenzvariation in jedem Fall ein Sicherheitsgewinn ist, und dass sich keine neuen Korrelationen und Angriffspunkte durch sie ergeben.


Mögliche Schwachstellen der Hardware

Nach einigen (qualitativen) Tests mit einem empfindlichen Messempfänger sind die elektromagnetischen Abstrahlungen dieses mit 10 MHz getakteten Mikrocontrollersystems relativ gering. Eine Detektion oder gar Auswertung der Tastendrücke wäre, meiner Einschätzung nach, aus mehreren Metern Entfernung nicht vorstellbar, zumal die Multiplexfrequenz sehr niedrig angesetzt wurde. Es kann aber nicht schaden, ein Metallgehäuse oder eine metallische Bodenplatte vorzusehen und die Zuleitungen zur Matrixtastatur so kurz wie möglich zu halten, um die EM-Abstrahlungen noch einmal drastisch zu reduzieren. Zuleitungen (Netzteil, Telefon) sollten zusätzlich verdrosselt werden.
Das vorgeschlagene Platinenlayout enthält den 10-poligen ISP-Stecker, sodass ein AVR-Programmer direkt angeschlossen werden kann. Daraus ergibt sich theoretisch ein gewisses Sicherheitsrisiko, weil jemand, der Zugriff zum Gerät erlangt, das Programm besonders praktisch gegen eine "Spezialversion" austauschen könnte, die immer denselben Schlüssel verwendet. Abhilfe könnten physikalische Schutzmaßnahmen bringen. Andererseits - wenn einfach jemand in die Wohnung spazieren kann, um dort technische Manipulationen vorzunehmen, dann ist bereits die nächste Eskalationsstufe erreicht, und es wird Zeit, sich ein paar Gedanken über den ganzheitlicheren Schutz unserer Privatsphäre zu machen...!



Nach oben



Firmware


Erste Programmversion (BASCOM-Assembler-Mix)

Das ursprünglich veröffentlichte Programm wurde unter BASCOM-AVR erstellt und compiliert. Es bestand teilweise aus Assemblerroutinen, welche von einem Gerüst aus unkritischen Basic-Strukturen verwaltet wurden. Nur so konnten die Interruptroutine und die Schlüsselberechnung ausreichend effizient und dennoch hochgradig transparent realisiert werden.
Dem hohen Anteil an Assembler ist es außerdem zu verdanken, dass sich das gesamte Programm noch mit der Demoversion von BASCOM-AVR compilieren ließ.
Diese historische HEKTOR-Firmware ist weiterhin zusammen mit den Schaltungsunterlagen für die ursprünglich vorgesehene zweiteilige Platine als Download unter [10] verfügbar. Ich empfehle ausdrücklich nicht mehr, diese Version zu verwenden, da sie noch einige Ungereimtheiten enthält, die erst durch konsequente Programmierung in reinem Assembler beseitigt werden konnten.



Aktuelle Programmversionen - Assembler

Die HEKTOR-Firmware habe ich im Jahr 2013 noch einmal von Grund auf in reinem Assembler neu geschrieben. Damit ist die Abhängigkeit von BASCOM-AVR mit seinem nur zeitweise genialen Compiler nun endgültig beendet!
Zwischenzeitlich waren schon ein paar experimentelle Firmware-Varianten in Gebrauch, bei denen aber "Schmutzeffekte" die Signalqualität unnötig verschlechtert haben. Eine gründliche Revision und genauere Timing-Messungen auf dem erzeugten Signal haben tatsächlich noch einige mögliche Verbesserungen aufgezeigt. Das Ergebnis ist ein HEKTOR-128 mit der Robustheit des ursprünglich vorgesehenen Verfahrens und noch besserer  "Kanaltauglichkeit". An der Hardware sind keine Änderungen erforderlich.
Auch an den kryptografisch relevanten Dimensionen und den quasi-genormten Synchro-Frequenzen hat sich praktisch nichts geändert. Es kommt auch wieder die ursprünglich vorgesehene 128er-Teilung zum Einsatz. Weitere Erklärungen zur aktuellen Firmware sind im Quelltext bzw. Readme-Dateien im Programmpaket untergebracht.
Die vollständigen Schaltungsunterlagen und die aktuelle HEKTOR-128-Firmware stehen direkt auf meinem Server als Paket zur Verfügung.



Flashen und Fusebits
Die Binär- oder Hex-Files können zum Beispiel mit AVROSP, TwinAVR oder einem anderen ISP-Tool in den Chip geschrieben werden. Die Platine sieht dafür den 10-poligen Pfostenstecker nach ATMEL-Spezifikation vor. Mindestens während der ISP-Zugriffe sollte das HEKTOR-Gerät eine stabile Stromversorgung über Netzteil erhalten.
Die Fusebit-Änderungen gegenüber dem Auslieferungszustand sind nicht unbedingt kritisch. Externer Quarz, moderate Startup-Zeit (CKSEL=1100, SUT=10).

Fusebits (Ext/High/Low): FF / D9 / EC

Unter TwinAVR (zu finden unter www.rowalt.de) sieht das dann so aus:

Fusebits ATmega8515 Hektor

Nach oben



Messungen

Spektrogramm weibliche unverschlüsselte Sprache

Beispiel:
Spektrogramm Sprache (weiblich), unverschlüsselt,
ca. 5 s


Die Spektralanteile der Grundfrequenz bzw. der  Harmonischen bei den stimmhaften Lauten (Formanten) sind deutlich als charakteristische Muster auf der Frequenzachse erkennbar.


Spektrogramm weibliche Sprache, verschlüsselt mit HEKTOR-128, 3 Blöcke

Beispiel:
Spektrogramm Sprache (weiblich) verschlüsselt,
Verfahren HEKTOR-128,
3 Blöcke

Startsync (~1500 Hz) und Stoppsync (~1625 Hz) sind als helle Linien vor und hinter dem Durchgang zu erkennen;
Block-Synchrosignale treten als helle Punkte im Abstand von etwa 1,3 Sekunden aus dem Signalgemisch hervor.


Nach oben


Hinweise


Nach oben



Technikfreunde! Antischäublisten!

Mit dem Projekt HEKTOR wurde ein Sprachverschlüssler vorgestellt, der durch Anwendung einer komplexen Variante der Zeittransposition ein hohes taktisches Sicherheitsniveau für Telefoniezwecke erreicht. Da das System ein Analogsignal im Basisband überträgt, lässt es sich in praktisch jedes analoge oder digitale Telefoniesystem einfügen. Das System ist von keiner korrumpierbaren PC- oder Smartphone-Plattform oder von bestimmten Übertragungsstandards abhängig, es kommt mit einem einfachen Telefonie-Kanal aus.

Hardware UND Software sind selbstverständlich "Open-Source". Je mehr Leute es ausprobieren, kritisieren, verbessern, umso größer ist der praktische, technische und politische Nutzen für alle.

Das Projekt ist als konkreter Vorschlag für ein praktisch einsetzbares System gedacht. Wer etwas Besseres vorlegen kann, möge dies zu vergleichbar transparenten Bedingungen tun, oder für immer schweigen.

Konstruktive Anregungen, Tipps, programmiertechnische Verbesserungsvorschläge?  Her damit!Bevorzugt über verschlüsselte E-Mail.

Platinen und Bausätze gebe ich ausschließlich privat an privat und nur in kleinen Stückzahlen ab.



Nach oben


Download





Links

[1]    Juristerey:
        http://www.jusdata.info/de/materialien/tkgeheimnis-datenschutz.html

[2]    Tipps von Bernd Zimmermann zum Thema "Internetsicherheit":
        http://www.www-kurs.de/lausch.htm

[3]    Verschleierungsgerät in Consumer-Qualität, mit professionellem Preisniveau:
        http://www.pimall.com/nais/miser.html

[4]    Interessante Hardware nach dem Prinzip der Zeittransposition (Fa. Selectone, USA):
        http://www.com-spec.com/selectone/manual/600-0501.pdf

[5]    Zur Deltamodulation:
        http://www.beis.de/Elektronik/DeltaSigma/DeltaSigma_D.html

[6]    Audio-Analysesoftware Spectrogram von R.S.Horne (Shareware):
        http://www.visualizationsoftware.com/gram.html
        Ältere Version von Spectrogram (Freeware), läuft super auf W9x- und W2k-Systemen:
        http://spot.fho-emden.de/ftp/elektron/gram50.zip

[7]    Thomas, J.: "Potenzialfreie Pegelwandlung für die RS232-Schnittstelle",
       FUNKAMATEUR 54 (2005), H. 11, S. 1140-1141

[8]    - leider nicht mehr verfügbar -

[9]    Englischsprachiger Aufsatz "Psychology of language", Autor: ein gewisser 'Max Power' (waaahnsinnig originell...)
        Mit Querverweisen auf weitere interessante Quellen:
        http://hireme.geek.nz/phychology-of-language_research-paper.pdf

[10]  Thomas, J.: "Hektor 128 - Sprachverschlüsseler nach Transpositionsverfahren",
        Teile 1+2 in FUNKAMATEUR 57 (2008), Ausgaben 4/2008 und 5/2008
        Downloadbereich, Stichwort "Hektor": www.funkamateur.de

[11]  Aus der NVA-Mottenkiste:        SAS und Chiffrierdienst

[12]  Download HEKTOR 128 - AKTUALISIERTES PAKET
       



Nach oben

Index



Revision: 07/2008, 03/2009, 06/2012, 10/2012, 12/2013


hektor 128 telefonat telefongespraech verschluesseln gegen schaeuble und co komplexe analoge verschluesselung telefonverschluessler sprachverschluessler taktische sicherheit kryptografie autonome hardware time domain scrambling scrambler zeittransposition cryptophon selbstbau transparenz sicherheit privatsphaere nsa echelon prism fernmeldegeheimnis artikel 10 grundrechte freiheitsrechte vertraulichkeit bdsg kommunikation selbstdatenschutz informelle selbstbestimmung bespitzelung spionageabwehr gegenwehr ueberwachungsstaat polizeistaat systemparteien widerstandsrecht totalitaer george orwell 1984 stasi mfs bka bnd mad mielke zimmermann kanther schily schaeuble klapse penisneid anschlag terror ottokatalog innenhohlminister innendiktator npd generalverdacht gestapo desinformation gleichschaltung massenmedien schaar eskalation reichssicherheitshauptamt telefonueberwachung lauschangriff vorratsdatenspeicherung tkg tkuev gegenmassnahmen widerstand