Vom Briefchen im Klassenzimmer zur Datensicherheit
Einführung in Kryptografie & Public Key Infrastructures
Dipl.-Ing. Oliver Oertel
08.03.2019 1 [email protected]
Vortrag
• Ziel:
– Umfassender Überblick über
• Grundlagen der „angewandten“ Kryptografie
• Grundlagen und Einsatzgebiete von Public Key
Infrastructures
• Insbesondere:
– Wofür brauch ich das?
– Wo kann ich es einsetzen?
– Welche Begriffe und Schlagworte gibt es?
• Ziel: Technisches Verständnis der Hintergründe für
„Nichtkryptografen“
08.03.2019 [email protected] 2
Damals
• Damals im Klassenzimmer - Zettelchen
• Lehrer sollte es nicht vorlesen können
• Voila ->Kryptografie
• Einfachstes Verschlüsselungsverfahren: rot13
– A->N, B->O, C->P, D->Q, …
• Kryptografie: Das ist das - Wofür?
08.03.2019 [email protected] 3
Informationssicherheit
• Allgemeine Schutzziele der Datensicherheit:
– Vertraulichkeit
• Daten dürfen lediglich von autorisierten Benutzern gelesen bzw.
modifiziert werden, dies gilt sowohl beim Zugriff auf gespeicherte
Daten wie auch während der Datenübertragung.
– Integrität
• Daten dürfen nicht unbemerkt verändert werden, resp. müssen alle
Änderungen nachvollziehbar sein.
– Verfügbarkeit
• Verhinderung von Systemausfällen; der Zugriff auf Daten muss
innerhalb eines vereinbarten Zeitrahmens gewährleistet werden.
– Authentizität
• Echtheit und Glaubwürdigkeit einer Person oder eines Dienstes
müssen überprüfbar sein.
• Nach diesen Kriterien werden informationstechnische
Systeme beurteilt und bewertet (sowie zertifiziert)
08.03.2019 4 [email protected]
Verschlüsselung (1)
• Vertraulichkeit:
• Früher: Einfache Systeme der Verschleierung
-> Basierte auf Geheimhaltung des Algorithmus
• Ein wenig später: „Schlüssel“-Begriff, z.B. ein bestimmtes
Buch (und Angabe der Buchseite, Zeile, Wort)
• Abstrakt:
Klartext -> Operation(Schlüssel) -> Chiffre
Chiffre -> Operation(Schlüssel) -> Klartext
• Begriffe:
– Verschlüsselungs-Algorithmus -> offen gelegt
– Symmetrische Verschlüsselung
– Schlüssel -> geheim
• Problem: Der Schlüssel muss sicher übertragen werden.
08.03.2019 5 [email protected]
Verschlüsselung (2)
• Begriff: Asymmetrische Verschlüsselung:
– Schlüsselgenerierung: ÖffSchlüssel, PrivSchlüssel
– A -> Operation(ÖffSchlüssel) -> B
B -> Operation(PrivSchlüssel) -> A
– A und B können sowohl Klartext als auch Chiffre
sein
– VORTEIL: Verschlüsselte Mitteilung
• Klartext -> Operation(ÖffSchlüssel) -> Chiffre
• Chiffre -> Operation(PrivSchlüssel) -> Klartext
• ÖffSchlüssel kann an alle potentiellen Absender verteilt
werden.
08.03.2019 6 [email protected]
Verschlüsselung (3)
• Symmetrische Algorithmen:
– Stromverschlüsselung/Streamcipher:
Generiert Pseudozufalls-Bitfolge als Schlüssel + XOR mit
Daten
z.B.: RC4, A5/1 (GSM)
– Blockverschlüsselung/Blockcipher:
Feste Blocklänge, typisch 8 oder 16 bytes
z.B. DES (56bit), 2DES (112bit), 3DES (168bit),
AES(128bit), AES(256bit), RC2, RC5, Blowfish
• Wichtigste Eigenschaften:
– Viel schneller als asymmetrische Verfahren
– Gut in Hardware implementierbar
– Für große Datenmengen geeignet
– Sicherer gegen Known-Plaintext-Attacken
08.03.2019 [email protected] 7
Verschlüsselung (4)
08.03.2019 [email protected] 8
• Begriff: Betriebsmodus, Initialization Vector
• Üblich: CBC oder (seltener) OFB
Verschlüsselung (5)
• Begriff: Padding
– Anpassung beliebiger Längen an Blockraster
– Integritätscheck
– (AsymV): Randomisierung
• Beispiele:
– PKCS#1
– OAEP (Optimal Asymmetric Encryption Padding)
– PSS (Probabilistic Signature Scheme)
08.03.2019 [email protected] 9
Hashverfahren
• Hash = kryptografische „Einweg-Prüfsumme“
• Beliebig viele Daten -> feste Anzahl Daten
(0…x Bytes -> n Bytes)
• Beispiele: MD5 (128bit), SHA1(160bit), RIPE-MD160, SHA-2-Famile
(SHA-224, SHA-256, SHA384, SHA512), SHA-3 (Keccak) …
• Kriterien:
– Nicht umkehrbar
– Geringe Wahrscheinlichkeit von Kollisionen, Gleichverteilung der
Hashwerte auf die Eingabewerte
– Chaos: 1-Bit-Änderung sollte statistisch die Hälfte aller Bits des
Hashwertes ändern
– Effizient (schnell, kein großer Speicherverbrauch, Quelldaten nur
einmal benötigt)
• Wichtig: MD5, SHA1 für kryptografische Anwendungen NICHT
mehr sicher.
08.03.2019 [email protected] 10
Signatur (1)
• Signatur:
• Klartext -> Operation(PrivSchlüssel) -> Chiffre
• Chiffre -> Operation(ÖffSchlüssel) -> Klartext
• Alle Besitzer können damit nachprüfen, ob der
Unterzeichner im Besitz des zugehörigen öffentlichen
Schlüssels ist.
• In der Praxis wird ein Hash-Verfahren (Hop)
dazwischen geschaltet
• Klartext -> Hop -> Hash -> O(PrivSchlüssel) -> Chiffre
• Chiffre -> O(ÖffSchlüssel) -> Hash
Klartext -> Hop -> Hash + Identisch?
08.03.2019 11 [email protected]
Signatur (2)
• Integrität:
– Dokument + Signierter Hash des Dokumentes +
öffSchlüssel
->beweist, dass das Dokument dem Besitzer des privaten
Schlüssels vorgelegen hat und unverändert ist
• Authentifikation:
• A möchte von B wissen, ob B im Besitz seines privaten Schlüssels
ist
• A generiert Zufallszahl und schickt diese zu B
• B signiert: Rnd -> Operation(PrivSchlüssel) -> ChRnd
und schickt ChRnd an A zurück
• A entschlüsselt mit dem öffentlichen Schlüssel
ChRnd -> Operation(ÖffSchlüssel) -> Rnd
und prüft, ob der gleiche Wert herauskommt
• Begriff: „Challenge-Response-Verfahren“
08.03.2019 12 [email protected]
PKI
• Wie verteile ich die öffentlichen Schlüssel?
– Möglichkeit: Sicherer Kanal
• Empfänger muss sicher sein, dass Schlüssel auch zur
Zielperson gehört.
• Warum? Man-In-The-Middle-Attack
• Bei vielen Empfängern – Aufwendig/Unsicher
• Weil -> Man muss JEDEM Überbringer vertrauen
– Deshalb Verwaltung und Absicherung der
öffentlichen Schlüssel
– Public Key Infrastructure (PKI)
08.03.2019 13 [email protected]
PKI (2)
• Datenstruktur (vereinfacht):
+ Öffentlicher Schlüssel
+ Wem gehört der Schlüssel?
(„Subject“, z.B. Name, Email, etc.)
+ Wer bestätigt das?
(„Issuer“, z.B. Name, Email)
+ Gültigkeitsinformation (von, bis)
+ Weitere Informationen (Verwendung etc.)
+ Signatur des Issuers (mit dem Private Key des Issuers), der die
Identität des Subjects geprüft hat
->X.509-Zertifikat
• Ganz wichtig: Das bildet einen Geschäftsvorgang ab:
– Der Nutzer des Zertifikats (und damit des öffentlichen Schlüssels)
überträgt das VERTRAUEN zur Prüfung der Authentizität des
Schlüssels AN den Issuer.
08.03.2019 14 [email protected]
PKI (3)
• Was kann ich damit machen?
– Einfachster Fall: Issuer = Subject
Sogenanntes „self-signed certificate“
Erstmal nur: Öffentlicher Schlüssel des Besitzers + Identitätsinformation
– WENN ich auf unsicherem Wege ein Zertifikat eines Subjects X bekomme, was von einem Issuer
beglaubigt wurde
+ UND ich vertraue dem Issuer
+ UND ich habe dessen „self-signed certificate“
auf vertrauensvollem Weg erhalten
DANN kann ich kryptografisch prüfen, ob das Zertifikat von X echt
ist und ich auch diesem vertrauen kann.
– Der Issuer ist dann die Certificate Authority (CA) – Zertifikatsdienste-Anbieter
– Das oberste – selfsigned – Zertifikat, also der „Vertrauensanker“ ist das Root-CA-Zertifikat
– Mehrstufig möglich:
Root-CA („selfsigned“)-> Sub-CA -> Sub-CA -> Nutzer-Zertifikat
• Ergebnis: Mit einer Liste für mich vertrauenswürdiger Root-CAs kann ich
gleichzeitig allen Personen vertrauen, die von diesen CAs beglaubigt wurden
08.03.2019 15 [email protected]
PKI (4)
• Typischer Ablauf:
– Ein Subject (z.B. Person oder Server) erstellt sein asymmetrisches Schlüsselpaar
– Das Subject geht mit seinem öffentlichen Schlüssel zu einer CA und diese
prüft seine Identitätsinformationen
– Ggf. - Das Subject bezahlt die CA für die Dienstleistung
– Die CA erstellt mit dem öffentlichen Schlüssel und den
Identitätsinformationen das Zertifikat
– Das Subject kann dies auf beliebigem Wege verteilen
• Wichtige Frage:
– WIE prüft die CA die Identität?
– Damit das jeder Nutzer des Zertifikats nachschlagen kann, gibt es eine
sogenannte CP (Certificate Policy), die im Zertifikat referenziert ist.
– Verschiedene Möglichkeiten der Prüfung:
• Server: Domain Level Validated
• Server: EV-Zertifikate (extended Validation – in der Regel per Unterschrift eines
Bevollmächtigen des Subjects + weitere Prüfungen wie z.B. Vorlage
Handelsregistereintrag)
• Personen: Vorlage ID-Dokument
– In der CP können auch Haftungszusicherungen hinterlegt sein.
08.03.2019 [email protected] 16
PKI (5)
• Verschiedene Arten von Zertifikaten
– Subject-Type
• Personenzertifikate (S-MIME-Zertifikate)
-> Email-Verschlüsselung/Signatur
• SSL/TLS-Zertifikate
-> Identifizieren Server (z.B. für Online-Banking uvm.)
• Authentification-Zertifikate
-> Dienen zur Anmeldung an Systemen
• Wie vertraue ich den Root-Zertifikaten?
– 160 kommerzielle CAs zusammengeschlossen im Browser-
Forum. Das zertifiziert die Organisationsprozesse der CAs.
– Diese sind automatisch als vertrauenswürdig in Browsern
bzw. im Betriebssystem eingetragen
– Eigene Root-Zertifikate müssen auf sicherem Wege verteilt
werden (z.B. durch Unternehmens-IT-Abteilung)
08.03.2019 [email protected] 17
PKI (6)
• Was passiert, wenn ein Private Key in die falschen
Hände gerät?
– Das Zertifikat kann bei der ausstellenden CA gesperrt
werden.
– Das bekommt der Nutzer aber erstmal nicht mit.
– Deshalb:
• CRL – Certificate Revocation List
Eine von der CA signierte Liste aller zurückgezogenen
Zertifikate, deren URL im Zertifikat hinterlegt ist.
Muss vor jeder Benutzung des Zertifikats geprüft werden.
• OCSP – Online Certificate Status Protocol
Die CA kann direkt nach dem Status eines von ihr
ausgegebenen Zertifikats befragt werden. Link zum OCSP-
Responder ist im Zertifikat hinterlegt.
08.03.2019 [email protected] 18
Verwahrung des PrivKey
• Private Key (=Nummer) identifiziert Person und darf nur von dieser
benutzt werden -> Geheimnis -> wie sicher aufbewahren?
• Grundsätzliche Möglichkeiten eines Geheimnisses:
– Etwas, was ich weiß (=z.B. Password)
– Etwas, was ich besitze (=z.B. Gegenstand, Schlüssel)
– Etwas, was ich bin (=z.B. Fingerabdruck, Stimme, Iris, andere
Biometrieformen)
• Einfachster Fall: Durch Passwort verschlüsselte Speicherung (etwas,
was ich weiß)
– Kann weitergesagt werden, beliebige Duplizierung
– Kann unbemerkt mitgelesen/abgelesen werden (auch mit technischen
Methoden wie Keyloggern)
– Unterliegt dem menschlichen Faktor (gelbe Zettel am Monitor, leicht
knackbare Passworte)
– Selbst bei idealer Handhabung anfällig gegenüber tätlicher Gewalt
(„drei Bodybuilder mit Baseball-Schlägern“)
– Technisch z.B. PKCS#12-Datei (*.pfx, *.p12)
08.03.2019 [email protected] 19
Chipkarten
• Chipkarten:
– Private Key wird auf Karte gespeichert oder auf dieser erzeugt
(=was ich besitze)
– Karte ermöglicht nur Rechnen mit PrivateKey, aber NICHT den
Export
– -> Duplizierung technisch nicht möglich
– Ermöglichen Kombination aller drei Geheimnisklassen
• Standard ist Karte (=was ich besitze) + PIN (=was ich weiss)
• Gelegentlich im Einsatz: Karte+Fingerprint (+ggf. PIN)
(Wichtig: Derzeit alle gängigen Fingerprintreader unsicher)
– Kann mit schwer fälschbaren optischen Merkmalen versehen
werden, die auch ohne Elektronik kontrolliert werden können
(im Prinzip alles möglich, was auch bei Geld verwendet wird)
• Tokens:
– Gleiche Technologie wie Chipkarte, nur andere Bauform
08.03.2019 [email protected] 20
Zugriff auf Smartcards
• Jede Smartcard hat andere Kommandos und
eine flexible Dateistruktur, jeder Kartenleser
hat andere Kommandos/Schnittstellen
• Verschiedene Abstraktionsebenen:
– Ansprechen des Kartenlesers: PCSC
– Ansprechen der Karte über Kartenleser –
Middleware:
• PKCS#11 vom Kartenhersteller/Integrator
• Microsoft CryptoAPI (incl. CSP vom
Kartenhersteller/Integrator)
08.03.2019 [email protected] 21
Feinheiten/Begriffe
• Key Escrow
– Problem: Mitarbeiter einer Firma besitzt einen private
Key – und scheidet aus der Firma aus (und muss seine
Arbeit übergeben) – oder verliert z.B. seinen Private
Key
– Folge: Alle an ihn gesendeten verschlüsselten Emails
und Dokumente sind nicht mehr zugänglich – und
das für keinen.
– Lösung: Schlüsselhinterlegung, i.d.R:
• Signatur-Zertifikat – den Schlüssel hat nur der Mitarbeiter
• Encryption-Zertifikat – der Schlüssel wird extern erzeugt
und in einem sicheren Umfeld aufbewahrt, z.B. HSM
08.03.2019 [email protected] 22
Feinheiten/Begriffe
• Certificate Reneval
– Nach Ablauf der Gültigkeit des Zertifikats für das gleiche Subject ein Neues beantragen
• LDAP
– Lightweight Directory Access Protokoll
– Eigentlich eine Protokoll-Definition, aber oftmals synonym für ein hierarchisches
Verzeichnis von Identitäten
– Kann zur Verwaltung/Speicherung von Zertifikaten genutzt werden
– CAs verwalten dort oftmals ihre öffentlich ausgestellten Zertifikate
– Microsoft: Active Directory
• Perfect Forward Secrecy (PFS)
– Langzeit-Schlüssel -> Operation -> Session Key
– Weder aus der mitgeschnittenen Kommunikation noch aus dem Langzeit-Schlüssel
kann der Session Key nach Beendigung der Session erneut rekonstruiert werden
• Zufall
– Perfekter Zufall ist für Kryptografie sehr wichtig – insbesondere bei der
Schlüsselerzeugung
– In der Realität schwieriger zu realisieren als man denkt
08.03.2019 [email protected] 23
Zusammenfassung
• PKI – Technisches Konzept zur Abbildung von Geschäftsvorgängen
– PC-Anmeldung
Beweis, dass genau dieser Mitarbeiter im IT-System war – incl. Haftung, falls er dort
einen Schaden verursacht
– Signiertes Dokument
Beweis, dass der Unterzeichner genau dieses Dokument anerkannt hat – damit die
digitale Abbildung einer rechtsgültigen Unterschrift
– Verschlüsselte Email
Beweis, dass kein anderer auf dieses Dokument zugreifen kann außer der Empfänger
– Maschinen-Maschinen-Kommunikation
Beweis, dass nur genau diese beiden Maschinen authentisch miteinander
kommunizieren – und niemand anders das unterbrechen/mitlesen/simulieren kann.
– Beweis gegenüber Geschäfts-/Vertragspartnern, dass Daten sicher verarbeitet
werden und technisch abgesichert nur im Sinne des Vertragszwecks zugänglich sind
– …
– Und das alles mathematisch prüfbar und mit hinreichender Wahrscheinlichkeit
beweisbar – und damit die Übersetzung eines Geschäftsvorganges und die
Übertragung an ein technisches System
08.03.2019 [email protected] 24
Ende
Danke für Ihre Aufmerksamkeit !
Fragen?
CipherMetrix Software & Consulting GmbH
Dipl.-Ing. Oliver Oertel
Käthe-Kollwitz-Platz 3
01109 Dresden
www.ciphermetrix.de
Bildquellen: Wikipedia, Alexander Sidorof-123RF
08.03.2019 [email protected] 25
Top Related