Unsere Technologien

Kryptographische Algorithmen

Verschlüsselungsalgorithmus

Für die Verschlüsselung wird ein starker symmetrischen Algorithmus Tiger (eigene Entwicklung der MTT AG) mit 256-Bit Schlüssellänge verwendet.

Tiger-Algorithmus ist eine synchrone XOR-Verschlüsselung (additive Stromchiffre). Die Synchronisation wird von einem Initialisierungsvektor durchgeführt, der samt dem Chiffriertext unverschlüsselt übermittelt (oder gespeichert) wird. Die Länge eines Initialisierungsvektors variiert zwischen 4 und 12 Bytes, je nach Aufgabenstellung.

Um ein Verschlüsselungsgerät in den Betriebszustand zu bringen, wird eine Initialisierungsprozedur in Gang gesetzt. Geheimschlüssel und Initialisierungsvektor gehen bei der Initialisierungsprozedur ein, die Werte aller Statuselemente, die ein Funktionszustand des Verschlüsselungsgeräts bestimmen, werden daraus abgeleitet.

Sicherstellung der Datenintegrität

Algorithmen für die Prüfung der Datenintegrität sind zum Schutz der Daten gegen eine versehentliche oder vorsätzliche Verfälschung/Verzerrung unerlässlich. Diese Daten können auf dem Verschlüsselungsgerät, Smartphone oder PC gespeichert sein oder unter Netzwerkteilnehmern ausgetauscht werden.

Datenauthentisierung erfolgt durch Berechnung einer Einweg-Funktion worein die Daten selbst und der Geheimschlüssel eingegeben werden. Das Ergebnis der Berechnung von Einweg-Funktion, auch als Data Authentication Code (DAC) oder Message Authentication Code (MAC) genannt, wird zusammen mit den Daten gespeichert oder übermittelt. Jegliche Datenänderung verursacht die Änderung des Authentication Codes und es ist praktisch unmöglich dieses ohne den Geheimschlüssel herauszufinden, auch dann, wenn die Eigenschaften der Einweg-Funktion korrekt eingesetzt werden.

Stealthphone und Stealthphone Tell nutzen den HMAC-SHA256 Algorithmus als grundlegenden Algorithmus für die Berechnung von Data Authentication Code.

Der Data Authentication Code wird berechnet und überprüft in allen Lösungen für alle Arten der verschlüsselten Daten (Sprache, SMS, Sofortnachrichten (Instant Messages), E-Mail, Dateien aller Art und Multimedia-Informationen), die übermittelt werden oder im geschütztem Speicher des Verschlüsselungsgeräts, Smartphones, PC oder auf die SD-Karte gespeichert sind. So wird die Datenintegrität aller verschlüsselten Daten überprüft.

Berechnungen im Punkten-Cluster der elliptischen Kurve für die Teilnehmerauthentifizierung und das Aushandeln von Sitzungsschlüsseln.

Asymmetrische kryptographische Algorithmen die auf elliptischen Kurven (ECC) basieren, werden in Stealthphone- und StealthphoneTell-Systemen für Sprachverschlüsselung sowohl in Schlüsselaushandlungsprotokollen der gemeinsamen Schlüsseln, als auch in Teilnehmer-Authentifizierungsprotokollen des StealthphoneTell-Systems, benutzt.

Kryptographische Sicherheit von Systemen basiert auf den elliptischen Kurven und beruht auf dem Problem der Logarithmierung in den Punkten-Clustern der elliptischen Kurve (Elliptic Curve Discrete Logarithm Problem, ECDLP). Die Komplexität bester Lösungsalgorithmen für ECDLP, die derzeit bekannt sind ist exponentiell, wohingegen die Laufzeit der Arbeitsschritte für die Faktorisierung von Ganzzahlen und Logarithmierung in endlichen Feldern/Körpern ( die Grundlage für bekannte alternative Kryptoalgorithmen RSA und El-Gamal sind) sub-exponentiell ist.

Was bedeutet, dass erforderliches Sicherheitsniveau in den elliptischen Kurven basierenden Systemen mit einem kürzeren Schlüssel, als im RSA-System, erreicht wird. Zum Vergleich wird ein 384-Bit ECC-Schlüssel des gleichen Sicherheitsniveau wie ein 7680-Bit RSA-Schlüssel gewährleistet. Eine kürzere Schlüssellänge in ECC erlaubt im Vergleich zu alternativen Varianten, die Verwirklichung besserer technologischer Lösungen, weil es möglich ist, bei gleicher kryptographischer Sicherheit die Berechnungsgeschwindigkeit zu erhöhen und die deutliche Reduzierung des übertragenen Datenvolumens zu erreichen.

Die Agentur für Nationale Sicherheit (NSA) der USA hat die Zustimmung der Nutzung von asymmetrischen Kryptoalgorithmen auf elliptischen Kurven mit 384-Bit Schlüssellänge für die Handhabung von streng geheimen Dokumenten gegeben.

384-Bit elliptische Kurven werden auch in Systemen von Stealthphone und StealthphoneTell verwendet. Die kryptographischen Sicherheit von ECC-basierten Systemen beruht nicht nur auf der Länge, sondern auch auf einer Reihe von mathematischen Parametern der Punkten-Cluster der elliptischen Kurve, worin die Berechnungen stattfinden.

Die Parameter der Punkte-Cluster der elliptischen Kurve, worin die Berechnungen (auf Stealthphone und StealthphoneTell Systemen) durchgeführt werden, genügen den benötigten kryptographischen Anforderungen vollständig. 

Kryptographische Algorithmen der Sprachverschlüsselung Voice over GSM

Zum Schutz von Sprachdaten, die durch GSM-Kanäle übermittelt werden, wird eine kryptographisch starke Zeit-zu-Frequenz-Transformation verwendet. Diese Transformation ist widerstandsfähig gegen eine doppelte Vocoder-Transformation.

Die Hauptelemente der Transformation:

    • Aufsplitten des Sprachsignals in lineare Segmente
    • Nichtlineare Transformation der linearen Segmente
    • Vertauschen der Sprachsegmenten untereinander
    • Die Bearbeitung des eingehenden Signals zur Übertragungen durch den AMR Sprach-Codec und GSM-Kanal.

Die Transformationsparameter (Anzahl und Länge der Sprachsegmenten) sind vom Schlüssel abhängig.

Die nichtlineare Transformationparameter werden ebenfalls durch den kryptographischen Schlüssel bestimmt.

Die gesamte algorithmische- und System-Verzögerungszeit (verursacht durch das Mobilfunknetz) ist nicht höher als 2.5 Sekunden.

Kryptographische Algorithmen der Sprachverschlüsselung für die IP-Telefonie

Zum Schutz von Sprachinformationen in Programmen/Anwendungen für IP-Telefonie (Inkl. Skype und Viber) wird eine Zeit-zu-Frequenz-Transformation des Sprachsignals eingesetzt, die übermittelten Sprachdaten in ein geräuschhaftes Signal verwandelt.

Die Transformation besteht aus folgenden Elementen:

    • N-Kammfilter (Filterbank)
    • Dispersive Verzögerungsleitung (ein Filter mit zufälligem Phasenfrequenzgang)
    • N-Länge Substitution

Die Transformationseigenschaften (Anzahl der Filter, Parameter der Verzögerungsleitung) sind vom Schlüssel abhängig.

Die Umpositionierung der Spektralbänder im Kammfilter wird durch den Sitzungsschlüssel gesetzt, sobald die Verbindung aufgebaut wurde.

Die Bänder werden einmal alle 3-5 Sekunden umgeordnet, um die dynamische Transformation auszuführen.

Die algorithmische Zeitverzögerung übersteigt 1 Sekunde nicht. Der Frequenzbereich des verarbeiteten Sprachsignals beträgt 300-400 Hz. Minimale Länge der N-Substitution ist 24.

Abhängig von der Übertragungskapazität der aktuellen Internet-Verbindung können mehrere Transformationen stattfinden. Maximal zulässige Verzögerung beträgt 2 Sekunden. Bei langsamer und instabiler Internet-Verbindung kann ein Algorithmus verwendet werden, der keine Synchronisation erfordert. Dies sichert eine prompte Datenflusskontrolle (handshaking) und eine stabile kryptographische Verbindung.

Schlüsselmanagement

Bei der Einrichtung und Aufrechterhaltung der kryptographischen Datensicherheitssystemen stellt das Schlüsselmanagement die grösste Herausforderung der angewandten Kryptographie dar.

Nach unseren Einschätzungen sind die Sicherheitslücken in verschiedenen Systemkomponenten des Schlüsselmanagements (Erzeugen, Aufbewahren, Nutzung, Verteilung und auch in Austauschprotokollen etc.) die Hauptursachen der Gefährdung für Datensicherheitssysteme.

Deshalb wurde dem Lebenszyklus des Schlüsselmanagements (Schlüsselerzeugung, Schlüsselwechsel, Löschung des Schlüssels) in Stealthphone und StealthTell-Systemen besondere Aufmerksamkeit gewidmet.

Qualitätskontrolle der Schlüsseln

Sowohl bei Hardware-Schlüsselerzeugung (Stealthphone Hard, Stealthphone Key Hard), als auch bei Software-Schlüsselerzeugung (Stealthphone Soft, Stealthphone Tell, Stealthphone Key Soft) wird die Qualitätskontrolle der Schlüssel ständig und lückenlos durchgeführt, um deren statistische Kennwerte zu prüfen und das Vorhandensein irgendwelcher Muster aufzuspüren.

Hardware-Generatoren nutzen physikalische Zufallszahlengeneratoren die Zufallszahlen auf der Basis physikalischer Prozesse produzieren und deren Eigenschaften durch wissenschaftliche Laboruntersuchungen nachgewiesen sind.

Software-Generatoren sind nach dem Prinzip konstanter Anhäufung von Entropie (tatsächliche Zufallsfolge) konzipiert und verwenden diese während der Schlüsselerzeugung. Als Entropiequelle können verschiedene Vorgänge auf dem Smartphone, Tablet oder PC genutzt werden. Die Zeicheneingabem stellt wenn ein Text eingegeben wird, einen solchen Vorgang dar. Sollte das Schlüsselgenerierung-System ein Anfangsvolumen der Entropie als zu niedrig einschätzen um sie zu vervollständigen, wird es einem Anwender empfohlen irgendwelche zusätzliche Handlungen mit dem Gerät durchzuführen. Die Verfahren für die Anhäufung der Entropie in Software-Schlüsselgeneratoren wurden umfangreich getestet und haben ihre hervorragenden Eigenschaften bestätigt.

Bei allen Schlüssel-Erzeugungsvorgängen werden verschiedene Verfahren für die dynamische Kontrolle der statistischen Kennwerte erzeugter Schlüsseln durchgeführt.

Speicherung von Schlüsseln

Alle Schlüssel werden in verschlüsselter Form gespeichert oder überhaupt nirgendwo sonst gespeichert, sondern anhand des Passwortes und sonstiger Zusatzdaten „on-the-fly“ generiert. Chiffrierte Schlüssel werden nur dann entschlüsselt, wenn sie für einen Verschlüsselungsvorgang gebraucht werden. Die Schlüssel sind während des Vorgangs zwar entschlüsselt, bleiben aber im Speicher des Geräts verborgen.

Schlüsselklassifizierung

    • Alle Chiffrier-Schlüssel werden unterteilt in Schlüssel für Datenverschlüsselung und Schlüssel für Schlüsselverschlüsselung. D.h., dass jeder Chiffrier-Schlüssel entweder ausschliesslich für die Verschlüsselung der Daten (einschl. Sprache) oder ausschliesslich für die Verschlüsselung der Schlüssel (insbesondere diejenigen, die Daten und Sprache verschlüsseln) genutzt wird.
    • Alle Schlüssel unterteilen sich in Langzeit-Schlüssel und Einweg-Schlüssel. Langzeit-Schlüssel werden mehrfach innerhalb einer bestimmten Zeitperiode benutzt; Einweg-Schlüssel werden nur einmal für die Verschlüsselung von Daten- oder Sprachfragmenten verwendet. Zu den Langzeit-Schlüsseln gehören alle Schlüssel der Schlüsselverschlüsselung und Schlüssel der Datenverschlüsselung auf einem Smartphone oder PC Für Langzeit-Schlüssel sind Austauschverfahren vorgesehen, die bei Verlust oder Kompromittierung, in Gang gesetzt werden.
    • Ausserdem können die Chiffrier-Schlüssel in einer bestimmten Hierarchie angeordnet werden:
      • An erste Stelle kommt ein Authentifizierungsschlüssel, der während der Teilnehmerauthentifizierung mittels eines Passwortes erzeugt und nicht gespeichert wird
        • Danach kommt ein Hauptschlüssel, der mithilfe des Authentifizierungsschlüssels chiffriert wird. Anhand des Hauptschlüssels werden alle Chiffrier-Schlüssel, der Schlüssel für Datenverschlüsselung und alle Datenverschlüsselung-Schlüssel (die in Stealthphone Hard und auf Smartphone, Tablet oder PC gespeichert sind) chiffriert.
      • Auf der nächsten Ebene befinden sich Chiffrier-Schlüssel der Datenverschlüsselung-Schlüssel, die mithilfe des Hauptschlüssels verschlüsselt sind und die sowohl für Verschlüsselung von Einweg-Schlüsseln der Datenverschlüsselung, als auch für Verschlüsselung von Schlüsseln für Erzeugen der Sitzungsschlüssel der Sprachverschlüsselung verwendet werden.
      • Auf der unteren Ebene befinden sich Schlüssel der Datenverschlüsselung. Jeder dieser Schlüssel wird chiffriert.
    • Für Sprachverschlüsselung werden ausschliesslich Einweg-Sitzungsschlüssel, welche nach  Gesprächsende gelöscht werden, benutzt. Volumen der Sprachdaten, die mit einem Sitzungsschlüssel verschlüsselt werden, ist begrenzt.
    • Für Datenverschlüsselung bei der Datenübermittlung werden ausschliesslich Einweg-Schlüssel benutzt. Mit einem Einweg-Schlüssel ist chiffriertes Datenvolumen begrenzt. D.h., dass für die Verschlüsselung einer grossen Datei können mehrere Sitzungsschlüssel verwendet werden. 

Besonderheiten vom Stealthphone-Schlüsselsystem

Sicherer Informationsaustausch von verschlüsselten Daten ist nur innerhalb eines kryptographischen Netzwerks (Stealthphone-Netzwerk) möglich. Die Netzwerkteilnehmer können folgende vier Arten von verschlüsselten Daten untereinander austauschen:

    • Sprachdaten (Sprachverschlüsselung)
    • SMS-Nachrichten
    • E-Mail-Nachrichten
    • Textnachrichten und Dateien (Crypto-Messenger)

Die Verschlüsselung von Sprachdaten erfolgt mithilfe eines Sitzungsschlüssels. Ein Sitzungsschlüssel wird durch eine Kombination von ECDH-generierten Schlüsseln und einem gemeinsamen (für zwei Gesprächsteilnehmer) Pairing-Verbindungsschlüssel erzeugt.

Weiter drei Datenarten werden mittels der Einweg-Schlüsseln chiffriert, deren Erzeugung zufällig und gleichwahrscheinlich auf der Sendeseite geschieht. Damit der Empfänger die Daten entschlüsseln kann, werden diese samt einem Einwegschlüssel mit symmetrischem Chiffrier-Algorithmus (Tiger) verschlüsselt und übermittelt. Die Einwegschlüssel sind dabei mit einem Pairing-Verbindungsschlüssel chiffriert.

Demzufolge hat jedes Paar von Netzwerkteilnehmern ein Schlüsselsatz bestehend aus 4 verschiedener Pairing-Verbindungsschlüssel, die unterschiedliche Arten der Datenverschlüsselung bedienen.

Ein Pairing-Verbindungsschlüssel wird bei der Erzeugung von einem Sitzungsschlüssel für die Sprachverschlüsselung genutzt.

Pairing-Verbindungsschlüssel der Sprachverschlüsselung werden bei der Generierung des Sitzungsschlüssels der Sprachverschlüsselung benutzt.

SMS-Pairing-Verbindungsschlüssel verschlüsseln Einweg-Schlüssel, anhand deren SMS-Nachrichten verschlüsselt werden.

E-Mail- und Messenger-Pairing-Verbindungsschlüssel werden ähnlich dem SMS-Pairing-Verbindungsschlüssel verwendet.

Gesamtzahl der Pairing-Verbindungsschlüssel jedes Teilnehmers (für Austausch von verschlüsselten Daten mit anderen Teilnehmern) ist gleich 4 × (N - 1), wobei N die Anzahl der Netzwerkteilnehmer ist.

Pairing-Verbindungsschlüssel der Sprachverschlüsselung aller Stealthphone-Netzwerkteilnehmer können, nach folgender Regel, in einer N × N quadratischen Tabelle (Matrix) angeordnet werden:

    • Matrix-Diagonale bleibt ungefüllt (enthält Nullwerte)
    • am Schnittpunkt von Zeile A und Spalte B befindet sich gemeinsamer Geheimschlüssel der Pairing-Verbindung für Sprachverschlüsselung der Teilnehmer A und B

Ähnlich können Matrizen/Matrices der Pairing-Verbindungsschlüssel für restliche Datenarten gebildet werden. Alle 4 Matrizen sind diagonalsymmetrisch.

Wenn 4 Matrizen kombiniert werden, erhalten wir mit Pairing-Verbindungsschlüsseln des Stealthphone-Netzwerks (Vollmatrix der Schlüssel) eine diagonalsymmetrische Matrix. Zwischen jedem Paar Netzwerkteilnehmern enthält sie alle erforderlichen Pairing-Verbindungsschlüssel für alle Arten von gesicherten Datenaustausch. Am Schnittpunkt von Zeile A und Spalte B dieser Matrix befindet sich ein vollständiger Schlüsselsatz (Komplett-Set) aus 4 geheimen Pairing-Verbindungsschlüssel der Netzwerkteilnehmer A und B.

Matrixzeile A bildet eine Menge aller Pairing-Verbindungsschlüssel zum Austausch von verschlüsselten Daten des Netzwerkteilnehmers A mit anderen Netzwerkteilnehmern. Gesamtzahl der Schlüssel in Zeile A ist gleich 4 × (N – 1).

Die Pairing-Verbindungsschlüssel-Matrix des Stealthphone-Netzwerks werden, ebenso wie alle anderen Schlüssel der Netzwerkteilnehmer, vom Netzwerk-Administrator mithilfe des Stealth Key-Komplexes erzeugt. Die Schlüssel werden in die Geräte der Teilnehmern am Arbeitsplatz des Administrators mittels des Stealth Key-Komplexes geladen. Ein Teilnehmer kann auch selbstständig die Schlüssel, die vom Netzwerk-Administrator im Voraus vorbereitet wurden, via PC in ein Gerät laden.

Um die maximale Sicherheitsstufe zu garantieren und die Schlüsselverwaltung des Stealthphone-Netzwerks effizienter zu nutzen, besteht die Möglichkeit durch einmalige Erstaufladung die Schlüssel in die Geräte der Teilnehmer zu laden. Falls sich das Netzwerkstruktur ändert, müssen die Schlüssel nicht erneut aufgeladen werden, (wenn die Zugriffsrechte des Teilnehmers geändert, hingefügt oder gelöscht werden) oder Schlüssel anderer Teilnehmer kompromittiert werden, oder bei einem planmässigen Wechsel von Schlüsseln aller Netzwerkteilnehmer.

Auf diese Weise wird die Erstaufladung der Schlüssel in die Geräte der Teilnehmer für einige Jahre des Benutzens ausreichen und die Schlüssel müssen nicht erneut umgeschrieben werden.