+ All Categories
Home > Documents > Einführung in Kryptografie und Public Key Infrastructures...

Einführung in Kryptografie und Public Key Infrastructures...

Date post: 13-Aug-2019
Category:
Upload: vudang
View: 214 times
Download: 0 times
Share this document with a friend
25
Vom Briefchen im Klassenzimmer zur Datensicherheit Einführung in Kryptografie & Public Key Infrastructures Dipl.-Ing. Oliver Oertel 08.03.2019 1 [email protected]
Transcript

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


Recommended