48
T. Pany Professur für Satellitennavigation (LRT 9.2) Institut für Raumfahrttechnik und Weltraumnutzung GNSS Nutzersegment/GNSS in der Luftfahrt Grundlagen der Kryptographie

GNSS Nutzersegment/GNSS in der Luftfahrt · ... 0100 0100 0100 0100 ) = ... 100 111 11. 0: 9. 010 011 11: 1. 10: 101 001 11. 0: 11. ... 0xCF82 = 1100 1111 1000 0010 • Schritt 2:

Embed Size (px)

Citation preview

T. Pany

Professur für Satellitennavigation (LRT 9.2)

Institut für Raumfahrttechnik und Weltraumnutzung

GNSS Nutzersegment/GNSS in der LuftfahrtGrundlagen der Kryptographie

23/19/2019 Conference/Workshop/Event 2SatNav 2: GNSS in der Luftfahrt

Literatur

• Diese Vorlesungseinheit verwendet Material aus (in Bibliothek vorhanden):

• Bruce Schneier• Englisch: Applied Cryptography, Wiley, 2015• Deutsch: Angewandte Krypotgraphie, Addison-Wesley,

2006

33/19/2019 Conference/Workshop/Event 3SatNav 2: GNSS in der Luftfahrt

MotivationWarum macht es Sinn Navigationssignale zu verschlüsseln?Welche Elemente können verschlüsselt werden?

43/19/2019 Conference/Workshop/Event 4SatNav 2: GNSS in der Luftfahrt

Motivation

• Kryptographische Methoden werden bei der Satellitennavigation aus folgenden Gründen verwendet:

• Einschränkung des Nutzerkreises• Navigationsfähigkeit steht nur autorisierten Nutzern zur

Verfügung• Für militärische und kommerzielle Dienste

• Fälschungssicherheit• Der Nutzer kann die Quelle des Signals als

vertrauenswürdig identifizieren• Für offene Dienste

53/19/2019 Conference/Workshop/Event 5SatNav 2: GNSS in der Luftfahrt

Träger cos(2π fot)fo = 1/To [Hz]

Spreizkode c(t)Rc = 1/Tc [chips/s]

Daten d(t)Rd = 1/Td [bits/s]

To

Tc

Td

Moduliertes Signal:

𝑠𝑠 𝑡𝑡 = 𝑑𝑑 𝑡𝑡 ⋅ 𝑐𝑐 𝑡𝑡 ⋅ cos 2𝜋𝜋𝑓𝑓0𝑡𝑡

Wdhg: Struktur des GNSS-Signals

63/19/2019 Conference/Workshop/Event 6SatNav 2: GNSS in der Luftfahrt

• Datensignal 𝑑𝑑 𝑡𝑡 kommuniziert die bitweise kodierten Ephemeriden und weitere Daten

• Amplitudenkodierung der Datenbitwerte:• 0 … 𝑑𝑑 𝑡𝑡 = 1• 1 … 𝑑𝑑 𝑡𝑡 = −1

• Mit 𝑑𝑑𝑖𝑖 die zeitliche Abfolge der Datenbitwerte gilt:• 𝑑𝑑 𝑡𝑡 = ∑𝑘𝑘=−∞𝑘𝑘=∞ 𝑑𝑑𝑘𝑘𝑝𝑝𝑇𝑇𝐷𝐷 𝑡𝑡 − 𝑘𝑘𝑇𝑇𝐷𝐷

• Einheitspuls 𝑝𝑝𝑇𝑇𝐷𝐷 𝑡𝑡 = �1 … 0 ≤ 𝑡𝑡 < 𝑇𝑇𝐷𝐷0 … 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑡𝑡

• Datenbit 𝑑𝑑𝑖𝑖 wird im Zeitraum 𝑖𝑖𝑇𝑇𝐷𝐷 bis 𝑖𝑖 + 1 𝑇𝑇𝐷𝐷 gesendet

• Vergleichsweise geringe Datenmengen• Bsp., GPS C/A: 720 bit für einen kompletten Ephemeriden- und

Uhrfehlersatz eines Satelliten

• Bei GNSS generell geringe Datenraten• 50 bit/s – 1000 bit/s

Datenbits und Datensignal

73/19/2019 Conference/Workshop/Event 7SatNav 2: GNSS in der Luftfahrt

• Spreizkodesignal wird zum (Kode)-Ranging und zur Trennung Satellitensignale verwendet (Korrelationsprinzip, SatNav 1, VO6)

• Die Spreizkodefolge 𝑐𝑐𝑖𝑖 ist satellitenspezifisch. Ein Spreizkodewert (=Chip) nimmt den Wert +1 und -1 an.

• Mit 𝑐𝑐𝑖𝑖 für zeitliche Abfolge der Chips gilt:• 𝑐𝑐 𝑡𝑡 = ∑𝑘𝑘=−∞𝑘𝑘=∞ 𝑐𝑐𝑘𝑘𝑚𝑚 𝑡𝑡 − 𝑘𝑘𝑇𝑇𝑐𝑐• 𝑚𝑚 𝑡𝑡 … Modulationswellenform

• BPSK: 𝑚𝑚 𝑡𝑡 = 𝑝𝑝𝑇𝑇𝑐𝑐 𝑡𝑡 = �1 … 0 ≤ 𝑡𝑡 < 𝑇𝑇𝑐𝑐0 … 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑡𝑡

• 𝑚𝑚 𝑡𝑡 kann aber auch andere Wellenformen annehmen -> BOC

• Hohe Chipraten: 511500 chip/s – 10230000 chip/s

• Chipfolge kann von kurzer Periode sein oder im Prinzip auch beliebig lange sein

• Bsp. offener Dienst: GPS C/A-Kode: 1023 chips• Bsp. Mil. Dienst: GPS P-Kode: 6187104000000 chips

Spreizkodesignal und Chips

83/19/2019 Conference/Workshop/Event 8SatNav 2: GNSS in der Luftfahrt

Zugriff auf das Signal im Empfänger

• Erzeugung des Replika-Spreizkodesignals 𝑐𝑐 𝑡𝑡• Korrelation• Detektion des Signals

• Bestätigung: Replikasignal ist im Empfangssignal vorhanden

• Extraktion der Datenbits 𝑑𝑑𝑖𝑖 aus Amplitude der Korrelationswerte

• Datennachricht

• Achtung: Datenbits 𝑑𝑑𝑖𝑖 können nur nach der Korrelation gewonnen werden und bedingen die Kenntnis von 𝑐𝑐𝑖𝑖

93/19/2019 Conference/Workshop/Event 9SatNav 2: GNSS in der Luftfahrt

Freier Zugriff bei offenen Diensten

• Offene Dienste• 𝑐𝑐𝑖𝑖 … bekannt und unveränderlich• 𝑑𝑑𝑖𝑖 … Struktur der Nachricht bekannt und

gesendeter Inhalt für alle interpretierbar

103/19/2019 Conference/Workshop/Event 10SatNav 2: GNSS in der Luftfahrt

Verschlüsselungsmöglichkeiten

• Spreizkodeverschlüsselung 𝑐𝑐𝑖𝑖• Nur autorisierte Nutzer können Ranging durchführen

und die Datennachricht demodulieren• Für nichtautorisierte Nutzer hat das Navigationssignal

keinen Wert (kein Ranging und keine Nachricht)• (unendlich) lange Spreizkodes sind eine notwendige

Voraussetzung für die Verschlüsselung

• Datenverschlüsselung 𝑑𝑑𝑖𝑖 bei bekanntem Spreizkode 𝑐𝑐𝑖𝑖

• Autorisierte und nichtautorisierte Nutzer können das Signal für Ranging verwenden

• Nur der autorisierte Nutzer kann die Nachricht dekodieren

113/19/2019 Conference/Workshop/Event 11SatNav 2: GNSS in der Luftfahrt

Zusammenfassung

• Datennachricht und Spreizkodes eines GNSS-Signals lassen sich als Bitfolge darstellen.

• Beide Elemente können verschlüsselt werden.• Die Elemente werden schlussendlich als ganze

Zahlen oder Folgen von ganzen Zahlen dargestellt.

123/19/2019 Conference/Workshop/Event 12SatNav 2: GNSS in der Luftfahrt

Mathematische GrundoperationenZahlendarstellung, XOR und weitere Definitionen

133/19/2019 Conference/Workshop/Event 13SatNav 2: GNSS in der Luftfahrt

Bit / Hex - Darstellung

• Beispiel für eine Datenfeld• 𝑑𝑑𝑖𝑖 für i = i0 … i0+11:

• Amplitudendarstellung:• -1, -1, +1, +1, +1, -1, +1, -1, +1, -1, -1, +1

• Binärdarstellung: 110001010110• Als Hexadezimalzahl: 0xC56• Als Dezimalzahl: 3158

• Multiplikation mit Skalenfaktorz.Bsp.: 2-15 ergibt z.Bsp. mittlere Anomalie von 0.09637

• Links stehende Werte werden zuerstgesendet

• Gleiches gilt für den Spreizkode• Bsp.: Anfang des 4092-chip langen

Galileo E1-B Kodes:• 0A28EFECFA8CABE46242B026 …

143/19/2019 Conference/Workshop/Event 14SatNav 2: GNSS in der Luftfahrt

XOR

• Bitweise Verknüpfung zweier Sequenzen, welche in der Kryptographie häufig vorkommt

• Bsp.: • xor( 0xFA8A, 0x4444 ) =• = xor( 1111 1010 1000 1010, 0100 0100 0100 0100 ) =• = 1011 1110 1100 1110 = 0xBECE

xor(A,B) A=0 A=1B=0 0 1B=1 1 0

153/19/2019 Conference/Workshop/Event 15SatNav 2: GNSS in der Luftfahrt

Kryptographische Elemente

• Klartext 𝑀𝑀 (für „message“)• (Teil der) Datennachricht• (Teil der) Spreizkodesequenz

• Verschlüsselter Text 𝐶𝐶 (für „ciphertext“)

• Schlüssel 𝐾𝐾 (für „key“)

• Verschlüsselung 𝐸𝐸 � (für „encryption“)• 𝑪𝑪 = 𝑬𝑬𝑲𝑲 𝑴𝑴

• Entschlüsselung 𝐷𝐷 � (für „decryption“)• 𝑴𝑴 = 𝑫𝑫𝑲𝑲 𝑪𝑪

163/19/2019 Conference/Workshop/Event 16SatNav 2: GNSS in der Luftfahrt

Symmetrisch/AsymmetrischWelche zwei grundsätzlich verschiedenen Verschlüsselungsverfahren sind bekannt?

173/19/2019 Conference/Workshop/Event 17SatNav 2: GNSS in der Luftfahrt

Grundsätzliche Verfahren

• Symmetrische Verfahren• Schlüssel ist für Verschlüsselung und Entschlüsselung

ident!

• Asymmetrische Verfahren• Es werden zwei unterschiedliche Schlüssel verwendet

• Öffentlicher Schlüssel: Verschlüsselung• Privater Schlüssel: Entschlüsselung• Öffentlicher Schlüssel kann aus dem privaten Schlüssel

gewonnen werden, aber nicht umgekehrt

183/19/2019 Conference/Workshop/Event 18SatNav 2: GNSS in der Luftfahrt

Symmetrische VerschlüsselungWie ist das Funktionsprinzip? Was ist ein LSFR und wie funktioniert Blockverschlüsselung mit Konfusion und Diffusion? Wie können Schwachstellen erkannt werden?

193/19/2019 Conference/Workshop/Event 19SatNav 2: GNSS in der Luftfahrt

Symmetrisches Verfahren

• Stromverschlüsselung• Bit-weise Verschlüsselung der Klartextnachricht• Ein verschlüsseltes Bit ist nur vom entsprechenden

Klartextbit und dem Schlüssel abhängig, nicht aber von den weiteren Bits

• Blockverschlüsselung• Aufteilung der Klartextnachricht in Blöcke (z.B.: je

256 Bit lang)• Verschlüsslung der Blöcke

• Verschlüsselter Block steht zum Klartextblock in einem Gesamtzusammenhang

• Keine Zuordnung von einzelnen Bits mehr möglich

203/19/2019 Conference/Workshop/Event 20SatNav 2: GNSS in der Luftfahrt

Stromverschlüsselung

• Verschlüsselung• 𝐶𝐶𝑖𝑖 = 𝑥𝑥𝑠𝑠𝑥𝑥 𝑀𝑀𝑖𝑖 , 𝑥𝑥𝐾𝐾;𝑖𝑖

• 𝑥𝑥𝐾𝐾;𝑖𝑖 … pseudozufällige Folge welche in Abhängigkeit vom Schlüssel 𝐾𝐾 gewählt wird• verschiedene Verfahren für die Erzeugung von 𝑥𝑥𝐾𝐾;𝑖𝑖

möglich• Periode von 𝑥𝑥𝐾𝐾;𝑖𝑖 soll möglichst lang sein, um einen

Angriff auf 𝑥𝑥𝐾𝐾;𝑖𝑖 zu vermeiden.

• Entschlüsselung• Gleich wie Verschlüsslung • 𝑀𝑀𝑖𝑖 = 𝑥𝑥𝑠𝑠𝑥𝑥 𝐶𝐶𝑖𝑖 , 𝑥𝑥𝐾𝐾;𝑖𝑖

• 2-maliges xor hebt sich auf

213/19/2019 Conference/Workshop/Event 21SatNav 2: GNSS in der Luftfahrt

Stromverschlüsselung

• Beispiel: Linear Feedback Shift RegisterLinear rückgekoppeltes Schieberegister

𝑥𝑥𝐾𝐾;𝑖𝑖

xor

223/19/2019 Conference/Workshop/Event 22SatNav 2: GNSS in der Luftfahrt

Linear Feedback Shift Register

• Länge des Registers• Anzahl der Speicherstellen

• Hier: 8

• Schlüssel 𝐾𝐾 … Positionen der Rückführungen• Hier: 4, 5, 6 und 8• Darstellung des Schlüssels zum Beispiel: 𝐾𝐾 = 0x4568

• Arbeitsweise:• Initialisierung des Registers mit einem beliebigen

Wert außer 00000000• z.B.: 01010101

233/19/2019 Conference/Workshop/Event 23SatNav 2: GNSS in der Luftfahrt

Beispiel LFSR, Ersten 12 Schritte

Schritt Inhalt FeedbackInit 010 101 01 11 101 010 10 12 110 101 01 13 111 010 10 14 111 101 01 15 111 110 10 06 011 111 01 07 001 111 10 18 100 111 11 09 010 011 11 110 101 001 11 011 010 100 11 012 001 010 01 0

𝒓𝒓𝑲𝑲;𝒊𝒊 = 𝟏𝟏,𝟎𝟎,𝟏𝟏,𝟎𝟎,𝟏𝟏,𝟎𝟎,𝟏𝟏,𝟎𝟎,𝟏𝟏,𝟏𝟏,𝟏𝟏,𝟏𝟏,𝟏𝟏, …

243/19/2019 Conference/Workshop/Event 24SatNav 2: GNSS in der Luftfahrt

Eigenschaften LFSR

• Es können Sequenzen mit einer maximalen Länge von 2𝑁𝑁 − 1 erzeugt werden, wobei 𝑁𝑁 die Anzahl der Speicherstellen ist.

• Die Wahl der Rückführpunkte (englisch: Taps) muss sorgfältig gewählt, wenn die maximale Länge erreicht werden soll (sog. M-Sequenz)

• Darstellung der Rückführpunkte als Polynom• Siehe Folie 17• Generatorpolynom• Weiterführende mathematische Analyse, wann genau

die maximale Länge erreicht wird.• Anzahl der Speicherstellen = Grad des Polynoms

253/19/2019 Conference/Workshop/Event 25SatNav 2: GNSS in der Luftfahrt

Diskussion LFSR

• Verbreitetes Verfahren• Einfach in Hardware zu realisieren• Schnell und effizient in Hardware• Mathematische Analyse sehr vollständig• Achtung: Hardwarestruktur am Chip kann optisch

erkannt werden!• „tamper-resistant“ Chip; deutsch: manipulationssicher,

oder besser auslesesicher

• Andere Anwendungen• Zur Erzeugung der Spreizkodesequenzen bei GNSS• Zufallszahlerzeugung

263/19/2019 Conference/Workshop/Event 26SatNav 2: GNSS in der Luftfahrt

Blockverschlüsselung

• Zwei Grundelemente • Vertauschen der Bitpositionen (Konfusion)• Invertieren ausgewählter Bitpositionen (Diffusion)

• Durch Kombination der Elemente können Verschlüsselungsverfahren mit den gewünschten Eigenschaften konstruiert werden

• Kombination über den Schlüssel parametrisiert

• Einfach und mit wenig Rechenleistung durchzuführen

273/19/2019 Conference/Workshop/Event 27SatNav 2: GNSS in der Luftfahrt

Blockverschlüsselung (ISTA-T1)

• Beispiel ISTA-T1• Blocklänge: 16 bit

• Block: ABCD (A…D jeweils 4-bit)• Schlüssellänge: 8 bit

• Schlüssel: KL (K…L jeweils 4-bit)• Schritt 1:

• Tausche: A mit C• Schritt 2:

• A -> A xor K• B -> B xor L• C -> C xor K• D -> D xor L

283/19/2019 Conference/Workshop/Event 28SatNav 2: GNSS in der Luftfahrt

Blockverschlüsselung (ISTA-T1)

• Beispielschlüssel: 0x1F = 0001 1111• Klartext: 0x8FC2• Schritt 1: 0xCF82 = 1100 1111 1000 0010• Schritt 2: 1101 0000 1001 1101• Verschlüsselter Text: 0xD09D

• ISTA-T1 ist sehr leicht zu knacken• Wenn es gelingt, den Sender dazu zu bringen den

Klartext 0x0000 zu senden oder die Stellen an denen 0x0000 gesendet wird bekannt sind, • 0x0000 -> (S1) 0x0000 -> (S2) 0x1F1F

• dann kann aus dem verschlüsselten Text der Schlüssel ausgelesen werden

293/19/2019 Conference/Workshop/Event 29SatNav 2: GNSS in der Luftfahrt

Blockverschlüsselung (ISTA-T2)

• ISTA-T2• Blocklänge: 16 bit

• Block: ABCD (A…D jeweils 4-bit)• Schlüssellänge: 16 bit

• Schlüssel: KLMN (K…L jeweils 4-bit)• Schritt 1:

• A -> A xor M• B -> B xor M• C -> C xor N• D -> D xor N

• Schritt 2:• Tausche: A mit C

• Schritt 3:• A -> A xor K• B -> B xor L• C -> C xor K• D -> D xor L

303/19/2019 Conference/Workshop/Event 30SatNav 2: GNSS in der Luftfahrt

Blockverschlüsselung (ISTA-T2)

• Beispielschlüssel: 0x1F2E = 0001 1111 0010 1110• Klartext: 0x0000• Schritt 1: 0x22EE• Schritt 2: 0xE2E2• Schritt 2: 0xFDFD• Verschlüsselter Text: 0xFDFD

• Schlüssel kommt in verschlüsseltem Text nicht mehr vor

• ISTA-T2 ist schwerer zu entschlüsseln als ISTA-T1• ISTA-T2 vermutlich trotzdem sehr leicht zu knacken…

• Übung 4: Beispiel Advanced Encryption Standard• Seit 2000 weit verbreiteter und standardisierter Algorithmus• Nachfolger von DES, der in den 90er Jahren unsicher wurde

313/19/2019 Conference/Workshop/Event 31SatNav 2: GNSS in der Luftfahrt

Entschlüsselung

• Durch Umkehrung der Operationen.• Es wird der gleiche Schlüssel wie bei der Verschlüsselung

verwendet• ISTA-T2

• Verschlüsselter Text: ABCD• Schritt 1:

• A -> A xor K• B -> B xor L• C -> C xor K• D -> D xor L

• Schritt 2:• Tausche: A mit C

• Schritt 3:• A -> A xor M• B -> B xor M• C -> C xor N• D -> D xor N

323/19/2019 Conference/Workshop/Event 32SatNav 2: GNSS in der Luftfahrt

Sicherheitsmerkmale

• Man muss davon ausgehen, dass das Verfahren irgendwann bekannt wird und nur der Schlüssel geheim gehalten werden kann. Weiter kann der mathematische Beweis der Sicherheit eines Verfahrens nur mit großem Aufwand (Unis,…) geführt werden und selten in Eigenregie.

• Kerckhoffs’ Prinzip: Offenlegung des Verfahrens und Geheimhaltung der Schlüssel

• Es ist üblicherweise leicht festzustellen, ob ein Text erfolgreich entschlüsselt werden konnte. • Sinnhafter Text, vernünftige Ephemeriden, gültiger Spreizkode, …

• Angreifer hat folgende Möglichkeiten• Verschlüsselten Text abzufangen

• u.U. Wissen, wann (oder wie häufig) welcher Klartext gesendet wird

• u.U. Möglichkeiten, um einen gewissen Klartext zur Sendung zu bringen

• Schlüssellänge muss so groß gewählt werden, dass es einem Angreifer unmöglich ist, alle Schlüssel auszuprobieren (brute-force Angriff)

• 16-bit: 216 = 65536

• 128-bit: 2128 = 3,4e38

• 256-bit: 2256 = 1,15e77

• Vergleich: Leistungsfähige Grafikkarte kann ~ 1e12 mul/add Operationen pro Sekunde durchführen

• Blockgröße >= Schlüsselgröße da ansonsten mehrere Schlüssel identische Wirkung haben

333/19/2019 Conference/Workshop/Event 33SatNav 2: GNSS in der Luftfahrt

Zusammenfassung

• Über Diffusion und Konfusion wird der Klartext in einen verschlüsselten Text umgewandelt.

• Stromverfahren arbeiten kontinuierliche, Blockverfahren Blockweise

• Die über den Schlüssel gegeben Vielfalt der Verschlüsselung muss so groß sein, dass ein Angreifen nicht einfach alle möglichen Schlüssel ausprobieren kann.

343/19/2019 Conference/Workshop/Event 34SatNav 2: GNSS in der Luftfahrt

Asymmetrische VerschlüsselungWie ist das Funktionsprinzip und welche mathematischen Verfahren liegen zugrunde? Warum sind große Primzahlen wichtig?

353/19/2019 Conference/Workshop/Event 35SatNav 2: GNSS in der Luftfahrt

Asymmetrische Verfahren

• Unterschiedliche Schlüssel für Verschlüsselung und Entschlüsselung

• Hellman und Diffie, 1976• Wesentliche Vereinfachung in der

Schlüsselverwaltung und Verteilung, da Sender und Empfänger unterschiedliche Kenntnisse des Verfahrens haben können (und in der Regel auch haben sollen)• Vgl. GNSS-Kontrollsegment und GNSS-Nutzer

• Ein Schlüssel (öffentlicher Schlüssel) kann publik gemacht werden• Keine Sicherheitsbestimmungen notwendig

363/19/2019 Conference/Workshop/Event 36SatNav 2: GNSS in der Luftfahrt

RSA-Verfahren

• Rivest, Shamir und Adleman, MIT, 1977• Mathematisch orientiertes Verfahren basierend

auf der Arithmetik ganzer Zahlen• Schlüssel und Text sind ganze Zahlen

• Definitionen:• a mod b = Rest der ganzzahligen Division a/b• Beispiele

• 5 mod 7 = 5• 10 mod 5 = 0• 11 mod 3 = 2• 192323 mod 8 = 3

Neben dem RSA-Verfahren sind auch weitere asymmetrische Verfahren im Einsatz

373/19/2019 Conference/Workshop/Event 37SatNav 2: GNSS in der Luftfahrt

RSA-Verfahren

• Schlüsselerzeugung• Wähle zwei ähnlich große Primzahlen 𝑝𝑝 und 𝑞𝑞

• 𝑠𝑠 = 𝑞𝑞𝑝𝑝• Wähle eine Zahl 𝑒𝑒 sodass gilt:

• 1 < 𝑒𝑒 < 𝑠𝑠• 𝑒𝑒 und 𝑝𝑝 − 1 𝑞𝑞 − 1 sind teilerfremd

• d.h. es gibt keine ganze Zahl durch welche man beide restfrei teilen könnte

• Berechne eine Zahl 𝑑𝑑 sodass gilt:• 𝑒𝑒𝑑𝑑 𝑚𝑚𝑠𝑠𝑑𝑑 𝑝𝑝 − 1 𝑞𝑞 − 1 = 1• Berechnung von 𝑑𝑑: Ausprobieren oder erweiterter

Euklidischer Algorithmus• Lösche die Zahlen 𝑝𝑝 und 𝑞𝑞

• Schlüssel zur Verschlüsselung (öffentlich): 𝑒𝑒• Schlüssel zur Entschlüsselung (privat): 𝑑𝑑

383/19/2019 Conference/Workshop/Event 38SatNav 2: GNSS in der Luftfahrt

RSA-Verfahren

• Klartextnachricht: 𝑚𝑚• Für 𝑚𝑚 muss gelten: 0 ≤ 𝑚𝑚 < 𝑠𝑠• Längere Klartextnachrichten werden in Blöcke geteilt

und die Blöcke werden einzeln und unabhängig voneinander verschlüsselt.

• Verschlüsselung• 𝑐𝑐 = 𝑚𝑚𝑒𝑒 𝑚𝑚𝑠𝑠𝑑𝑑 𝑠𝑠

• Entschlüsselung• 𝑚𝑚 = 𝑐𝑐𝑑𝑑 𝑚𝑚𝑠𝑠𝑑𝑑 𝑠𝑠

• Beweis durch Einsetzen

393/19/2019 Conference/Workshop/Event 39SatNav 2: GNSS in der Luftfahrt

RSA Beispiel

• Sehr einfach• wähle p=3, q=11 -> n=33• (p-1)*(q-1)=20• e=7 (teilerfremd zu 20)• Suche d (ausprobieren) = 3

• for d=1:20; if mod(d*7,20)==1 disp( sprintf( '%d %d',d,mod(d*7,20))); end; end

• 7*3 mod 20 = 1

• Verschlüsselung m=5• c = 5^7 mod 33 = mod(5^7,33) = 14

• Entschlüsselung• m = 14^3 mod 33 = mod(14^3,33) = 5

403/19/2019 Conference/Workshop/Event 40SatNav 2: GNSS in der Luftfahrt

Warum ist RSA sicher?

• Ein Angreifer kennt:• Verschlüsselter Text 𝑐𝑐• Öffentlicher Schlüssel 𝑒𝑒• Max. Länge 𝑠𝑠

• Aber:• Die Funktion 𝑐𝑐 = 𝑚𝑚𝑒𝑒 𝑚𝑚𝑠𝑠𝑑𝑑 𝑠𝑠 ist nicht invertierbar

• Ohne modulo würde gelten: 𝑚𝑚 = log𝑒𝑒 𝑐𝑐, aber diese Funktion log𝑒𝑒 hat noch kein Mathematiker gefunden …

• Man spricht davon, dass 𝑚𝑚𝑒𝑒 𝑚𝑚𝑠𝑠𝑑𝑑 𝑠𝑠 eine sogenannte Einwegfunktion ist (nicht umkehrbar)

• Nur wenn ich die Zahlen 𝑝𝑝 und 𝑞𝑞 kenne, kann ich während der Konstruktion von 𝑒𝑒 den privaten Schlüssel 𝑑𝑑 berechnen. Nachdem 𝑝𝑝 und 𝑞𝑞 gelöscht wurden, besteht diese Möglichkeit nicht mehr

• Man kann aus 𝑠𝑠 zwar theoretisch 𝑝𝑝 und 𝑞𝑞 ermitteln, aber nicht in der Praxis• Das Problem der Primzahlzerlegung ist für sehr große Zahlen nicht

berechenbar (und zwar für absolut keinen klassischen digitalen Computer)

413/19/2019 Conference/Workshop/Event 41SatNav 2: GNSS in der Luftfahrt

RSA Diskussion

• Es müssen große Primzahlen verwendet werden• Rechenaufwändig (keine MATLAB-Arithmetik…)

• Umschreiben des Verfahrens mit dem Chinesischem Restsatz

• Obwohl 𝑠𝑠 bekannt ist, ist es schwer bis unmöglich 𝑠𝑠 in die zugrundeliegenden Primzahlen zu zerlegen

• Längster bekannter geknackter RSA Satz (2009 in Bonn)

• Heutzutage sollte 𝑠𝑠 mindestens die Länge von 2000-3000 bithaben (=602-903 Dezimalstellen) haben, um als sicher zu gelten.

• Generell ist der Rechenaufwand um ein Vielfaches höher als bei symmetrischen Verfahren

423/19/2019 Conference/Workshop/Event 42SatNav 2: GNSS in der Luftfahrt

RSA-Beispiel

• https://8gwifi.org/RSAFunctionality?keysize=512

433/19/2019 Conference/Workshop/Event 43SatNav 2: GNSS in der Luftfahrt

AusblickWelche Vor- und Nachteile bietet die Verschlüsselungsverfahren? Welchen Einfluss hat die Quantentechnologie

443/19/2019 Conference/Workshop/Event 44SatNav 2: GNSS in der Luftfahrt

Symmetrisch• Effiziente Implementierung

• Einfache Grundelement

• Schlüssel muss zwischen Sender und Empfänger übertragen werden

• Sender und Empfänger müssen gleich sicher sein

• Kurze Schlüssel• Bsp.: AES-256 gilt als sicher

Asymmetrisch• Rechenaufwändig

• Basieren auf komplizierten mathematischen Theoremen

• Primzahlzerlegung• Elliptische Kurven

• Eine Seite kann als unsicher zugelassen werden

• Lange Schlüssel• RSA-2048 gilt als sicher• Elliptische Kurven erlauben

kürzere Schlüssel, sind aber immer noch doppelt so lange wie bei symmetrischen Verfahren.

Vergleich

Verteilung der Schlüssel ist meistens die Schwachstelle!

453/19/2019 Conference/Workshop/Event 45SatNav 2: GNSS in der Luftfahrt

Quantentechnologie

• Die zukünftige direkte Nutzung von Effekten der Quantenmechanik in der Computertechnologie und in der Kommunikation wird allgemein als „Gamechanger“ für die Kryptographie angesehen.

• Sollte diese Technologie möglich werden, bricht die Ära der Post-Quantum-Kryptographie an

• Quantencomputer:• Arbeiten anstelle Bits mit Qubits

• Ein Qubit ist ein quantenmechanischer Zustand eines Teilchens

• Ein Register mit N-Bits stellt eine Zahl dar

• Ein Register mit N-Qubits stellt einen Vektor von 2N Zahlen dar.

• Mit Qubits kann über physikalische Aufbauten gerechnet werden• Eine Operation arbeitet intrinsisch mit 2N-Zahlen

• Es existieren schon einige Quanten-Algorithmen die praktische Bedeutung haben (vorausgesetzt es gibt Quantencomputer).

• Shor-Algorithmus zur Zerlegung von Primzahlen

• Sollte es gelingen einen Shor-fähigen Quantencomputer zu bauen, wären sämtliche RSA-Verschlüsselungen offen.

• Derzeit unklar ob und wann operationelle Quantencomputer verfügbar sein werden. Intensive Forschungsbemühungen von Wissenschaft und Industrie.

• Quantenkommunikation• Quantenmechanische Teilchen können senderseitig so präpariert werden, sodass sie nur von genau einem

Empfänger gelesen werden können. Bei einem Abhörversuch verschwindet die in den Teilchen gespeicherte Nachricht aufgrund fundamentaler quantenmechanischer Effekte.

• Das Kommunikationsverfahren ist sehr ineffizient und eignet sich nur für kleinste Datenraten

• Interessant aber für die Verteilung von kryptographischen Schlüsseln• Quantum-Key-Distribution (QKD)

3/19/2019 Conference/Workshop/Event 4646SatNav 2: GNSS in der Luftfahrt

Ausblick: Quantum Key Distribution

Payload des chinesischen Satelliten MiciusHöhe: 500 km, sonnensynchroner OrbitLaunch: 17. Aug. 2016Kontakt zu den Bodenstationen: ca. 275 sCa 1.1 Photonen (~Bit) pro Sekunde

Übermittlung von Schlüsseln mit verschränkten Photonen aus dem All.

Kryptographisches Protokoll nutzt Quanteneffekte und istvollkommen abhörsicher.

473/19/2019 Conference/Workshop/Event 47SatNav 2: GNSS in der Luftfahrt

FragenAuswahl möglicher Prüfungsfragen

483/19/2019 Conference/Workshop/Event 48SatNav 2: GNSS in der Luftfahrt

Fragen inkl. Punkte

• Was versteht man unter einem symmetrischen Verschlüsselungsverfahren und welche mathematischen Prinzipien liegen ihm zugrunde? (4)

• Was versteht man unter einem asymmetrischen Verschlüsselungsverfahren und welche mathematischen Theoreme liegen ihm zugrunde (nennen Sie zumindest ein Beispiel)? (6)

• Hinweis: Folie 34-42

• Wodurch unterscheiden sich symmetrischen und asymmetrische Verfahren bei der Schlüssellänge und bei den Sicherheitsanforderungen and den Nutzer? (4)

• Hinweis: Folie 44

• Welche Elemente eines GNSS-Signals können verschlüsselt werden und wie hängen sie voneinander ab? (4)

• Welche Verschlüsselungsverfahren (symmetrisch oder asymmetrisch) werden möglicherweise durch Quantencomputer unsicher und warum? (2)