Hohe Datensicherheit dank Verschlüsselung
Was ist eine Verschlüsselung?
Mit einer Verschlüsselung wird eine Nachricht für unberechtigte Personen unleserlich gemacht, damit der Inhalt der Nachricht nicht unberechtigt ausgewertet werden kann. Die Nachricht kann ein normaler Text oder auch eine binäre Nachricht wie ein Datenpacket einer Funkübertragung sein. Eine Verschlüsselung besteht im Normalfall aus einem Verschlüsselungsalgorithmus (mathematische Funktion) und einem Schlüssel, welcher für die Ver- und Entschlüsselung benötigt wird. Nur wer im Besitz des entsprechenden Schlüssels ist, kann mit Hilfe des Verschlüsselungsalgorithmus die Nachricht entschlüsseln und somit wieder leserlich machen.
Beispiel: Zwei Parteien vereinbaren, dass sie als Verschlüsselungsalgorithmus das Verschieben der Buchstaben im Alphabet und als Schlüssel die Zahl 3 verwenden. Der Versender ersetzt nun jeden Buchstaben seines Textes mit dem Buchstaben, welcher im Alphabet 3 Stellen weiter liegt. Somit wird aus einem A ein D, aus einem B ein E usw. Wer weder Schlüssel noch Verschlüsselungsalgorithmus kennt, kann den Text auf Anhieb nicht lesen. Durch längeres Probieren wird möglicherweise erkannt, wie die Nachricht leserlich gemacht werden kann. Wer Algorithmus und Schlüssel kennt, hat die Nachricht jedoch innerhalb kurzer Zeit entschlüsselt.
Verschlüsselungsalgorithmus
Weshalb werden Daten verschlüsselt?
Mit der geeigneten Hardware kann eine Funkübertragung abgehöhrt und die Daten missbraucht werden. So können Daten von GPS-Trackern oder Energiezählern verwendet werden, um herauszufinden ob jemand zuhause ist. Deshalb ist es in gewissen Anwendungen sinnvoll, die Daten entsprechend zu verschlüsseln, damit die Daten geschützt sind.
Die Daten sollen auch vor Manipulation geschützt werden. Weiss ein Angreifer, wo sich welche Daten im Funkprotokoll befinden, kann er diese verändert aussenden. Im Beispiel des Energiezählers könnte dem Energiewerk dadurch ein tieferer Verbrauch vorgegaukelt werden. Durch die Verschlüsselung wird es nahezu unmöglich den Aufbau der Datenstruktur zu erkennen, den Inhalt zu verändern und auch wieder korrekt verschlüsselt auszusenden.
Eine weitere Angriffsmöglichkeit bieten Replay-Angriffe. Dabei wird ein Datenpacket aufgezeichnet, um später wieder ausgesendet zu werden. So kann das Datenpacket eines Autoschlüssels beim Öffnen der Tür aufgezeichnet werden. Später kann ein Angreifer das Datenpacket senden, um die Tür zu öffnen. In diesem Fall reicht eine reine Verschlüsselung nicht aus, sondern die Verschlüsselung wird in Kombination mit einem Rolling Code angewendet. Der Rolling Code wird dem Datenpacket zugefügt und bei jeder neuen Übertragung gezielt verändert. Dabei ist dem Empfänger bekannt, wie der Rolling Code vom Sender generiert wird, und welche Rolling Codes er als nächstes akzeptieren darf, bzw. welche erst kürzlich verwendet wurden und somit ungültig sind. Dadurch wird ein kopiertes und mehrfach ausgesendetes Datenpacket vom Empfänger nicht mehr akzeptiert. Durch die Verschlüsselung wird der Rolling Code versteckt. Dem Angreifer wird es somit erschwert, den Rolling Code im Datenpacket zu erkennen und den zugehörigen Algorithmus für die Veränderung zwischen jeder Übertragung herauszufinden.
Was sind Kriterien für eine sichere Verschlüsselung?
Ein wichtiges Kriterium ist die Schlüssellänge. Beim Brute-Force-Angriff werden alle möglichen Schlüsselkombinationen durchprobiert, bis die Nachricht gelesen werden kann. Somit sollte die Schlüssellänge so gewählt werden, dass auch Computersysteme der nahen Zukunft nicht alle Kombinationen innert nützlicher Frist durchprobieren können. Auch der Verschlüsselungsalgorithmus selbst muss sicher sein. Eine Schwachstelle im Algorithmus kann dazu führen, dass nicht mehr alle Schlüsselkombinationen durchprobiert werden müssen, um die Nachricht zu entschlüsseln. Oft wird der geheime Schlüssel auch durch List oder Drohung vom Besitzer herausgegeben. Deshalb muss mit dem Schlüssel entsprechend vorsichtig umgegangen werden.
Symmetrische Verschlüsselungsverfahren
Bei symmetrischen Verschlüsselungsverfahren wird für die Ver- und Entschlüsselung derselbe Schlüssel verwendet. Bei der symmetrischen Verschlüsselung besteht die Schwierigkeit, dass Sender und Empfänger den Schlüssel auf einem sicheren Weg vereinbaren müssen. Beispielsweise indem sich Sender und Empfänger an einem sicheren Ort treffen. Ist dies nicht möglich, müsste auch der Schlüssel verschlüsselt übertragen werden, wozu jedoch wiederum ein Schlüssel ausgetauscht werden muss usw.
Der Vorteil der symmetrischen Verschlüsselung ist der geringe Rechenaufwand. Dadurch ist die symmetrische Verschlüsselung schnell und ermöglicht eine einfache und stromsparende Implementation in Mikrocontrollern. Auch die Realisierung direkt als Hardwaremodul eines Mikrocontrollers ist einfacher möglich.
Die aktuell am weitesten verbreitete symmetrische Verschlüsselung ist AES, welche mit Schlüssellängen von 128, 196 und 256 Bit realisiert werden kann. AES ist momentan in den USA für staatliche Dokumente mit höchster Geheimhaltungsstufe zugelassen. Weitere symmetrische Verschlüsselungsverfahren sind unter anderem IDEA, RC6, Twofish, Serpent, MARS und Tripple-DES.
Asymmetrische Verschlüsselungsverfahren
Bei einer asymmetrischen Verschlüsselung wird für Ver- und Entschlüsselung nicht der identische Schlüssel verwendet, sondern ein Schlüsselpaar bestehend aus einem öffentlichen und einem privaten Schlüssel. Derjenige der eine Nachricht empfangen will, veröffentlicht seinen öffentlichen Schlüssel. Dieser darf auch für jeden ersichtlich sein. Wer dem Empfänger eine Nachricht versenden will, verschlüsselt die Nachricht mit diesem öffentlichen Schlüssel und dem entsprechenden Verschlüsselungsverfahren. Mit dem öffentlichen Schlüssel kann die Nachricht nur verschlüsselt, jedoch nicht entschlüsselt werden. Für die Entschlüsselung wird der private Schlüssel benötigt. Somit muss der private Schlüssel gar nie zum Sender übertragen werden und die Problematik der Schlüsselübergabe entfällt. Eine entscheidende Eigenschaft ist, dass anhand des öffentlichen Schlüssels der private Schlüssel nicht rekonstruiert werden kann.
Häufig verwendete asymmetrische Verschlüsselungsverfahren sind RSA, Elgamal, Merkle-Hellmann und PGP.
Der Nachteil der asymmetrischen Verschlüsselung ist, dass die benötigte Rechenleistung ca. 1000mal höher ist als bei der symmetrischen Verschlüsselung. Ausserdem muss die Schlüssellänge erheblich grösser sein, um dieselbe Sicherheit wie bei einer symmetrischen Verschlüsselung zu erreichen. Bei RSA werden Schlüssellängen von mindestens 2048 Bit empfohlen. Die Sicherheit der Schlüssellänge von 3070 Bit bei RSA entspricht der Sicherheit einer Schlüssellänge von 128 Bit mit AES. Bei der asymmetrischen Verschlüsselung muss zudem sichergestellt werden, dass der öffentliche Schlüssel auch wirklich dem gewünschten Empfänger der Nachricht gehört. Falls es einem Angreifer gelingt, dem Sender einen falschen öffentlichen Schlüssel unterzujubeln, kann er anschliessend die Nachricht abfangen und mit seinem eigenen privaten Schlüssel entschlüsseln. Um dies zu verhindern werden zu den öffentlichen Schlüsseln digitale Zertifikate ausgestellt, mit welchen die Herkunft der öffentlichen Schlüssel überprüft werden können.
Hybride Verschlüsselungsverfahren
Um die Vorteile von symmetrischer und asymmetrischer Verschlüsselung zu vereinen, können hybride Verschlüsselungen angewandt werden. Dabei wird die eigentliche Nachricht mit einem Schlüssel (Session-Key), symmetrisch verschlüsselt. Der Session-Key wird asymmetrisch verschlüsselt übermittelt und gilt nur für eine Übertragung. Somit wird für eine nächste Übertragung ein neuer Session-Key generiert und wieder asymmetrisch verschlüsselt übertragen.
Für die Übertragung des Session-Key wird also die rechenintensive asymmetrische Verschlüsselung verwendet. Für die grosse Datenmenge der eigentlichen Nachricht kann die schnelle, symmetrische Verschlüsselung angewendet werden. Der Nachteil ist jedoch, dass beide Verschlüsselungsverfahren implementiert werden müssen.
Wann wird welches Verschlüsselungsverfahren angewendet?
Welches Verschlüsselungsverfahren mit welcher Schlüssellänge angewendet wird, ist stark von der Anwendung, der geforderten Sicherheit und den zur Verfügung stehenden Ressourcen abhängig. Grundsätzlich soll der Aufwand um die Verschlüsselung zu knacken höher sein als der Wert der verschlüsselten Daten.
Für eine Funkdatenübertragung ist eine symmetrische Verschlüsselung häufig ausreichend, da lediglich das Abhören oder Manipulieren der Funkstrecke durch Unberechtigte verhindert werden soll. Somit kann bei der Installation der Schlüssel auf allen Geräten durch den Installateur eingestellt werden. Der Schlüssel wird sicher aufbewahrt und ist von ausserhalb des Gebäudes nicht zugänglich.
Werden unterschiedliche Daten an unterschiedlichen Personen über eine Cloud zugänglich gemacht, macht vermutlich eine asymmetrische oder eine hybride Verschlüsselung mehr Sinn. Somit kann mit einem neuen Benutzer jeder Zeit ein entsprechender öffentlicher Schlüssel ausgetauscht werden, auch wenn kein sicherer Kanal für die Schlüsselübertragung vorhanden ist.
In von uns realisierten Projekten wurde auch schon die Verschlüsselung der Funkdaten gefordert. Durch den Einsatz einer AES-Verschlüsselung sind die Daten unserer Kunden entsprechend sehr gut geschützt.
Dieser Blogpost ist die Fortsetzung von "Funkprotokoll - Ordnungssystem und Überwachung zugleich"
Kategorien
Stichwörter
Verschlüsselung, Symmetrisches Verschlüsselungsverfahren, Asymmetrisches VerschlüsselungsverfahrenWeitere Beiträge
Ihre Ansprechperson
U. Stöckli
Entwicklung
Elektroingenieur FH (BSc in Elektrotechnik)
T +41 41 494 07 05