Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. IT-Security



Ähnliche Dokumente
Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012

Erste Vorlesung Kryptographie

11. Das RSA Verfahren und andere Verfahren

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Nachrichten- Verschlüsselung Mit S/MIME

Kryptographie oder Verschlüsselungstechniken

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Informatik für Ökonomen II HS 09

Eine Praxis-orientierte Einführung in die Kryptographie

10. Kryptographie. Was ist Kryptographie?

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

-Verschlüsselung

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis

und Digitale Signatur

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Digitale Signaturen. Sven Tabbert

Digital Signature and Public Key Infrastructure

Kurze Einführung in kryptographische Grundlagen.

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

Authentikation und digitale Signatur

9 Schlüsseleinigung, Schlüsselaustausch

Kryptographische Algorithmen

Reale Nutzung kryptographischer Verfahren in TLS/SSL

Stammtisch Zertifikate

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Verteilte Systeme Unsicherheit in Verteilten Systemen

Verteilte Systeme. Übung 10. Jens Müller-Iden

Algorithmische Kryptographie

IT-Sicherheit Kapitel 13. Sicherheit

Grundlagen der Kryptographie

PKI (public key infrastructure)

Kryptographie praktisch erlebt

IT-Sicherheit Kapitel 11 SSL/TLS

IT-Sicherheit Kapitel 3 Public Key Kryptographie

Grundlagen der Verschlüsselung und Authentifizierung (2)

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

E-Government in der Praxis Jan Tobias Mühlberg. OpenPGP. Brandenburg an der Havel, den 23.

Verschlüsselung und Entschlüsselung

Betriebssysteme und Sicherheit Sicherheit. Signaturen, Zertifikate, Sichere

Gnu Privacy Guard I. Öffentliche Schlüssel Digitale Unterschrift. Schutz der Privatsphäre durch Kryptographie. von Gerhard Öttl

Kryptographie. = verborgen + schreiben

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Merkblatt: Sichere -Kommunikation zur datenschutz cert GmbH

Web of Trust, PGP, GnuPG

Wiederholung: Informationssicherheit Ziele

Elliptische Kurven in der Kryptographie

SSL-Protokoll und Internet-Sicherheit

Sicherheit von PDF-Dateien

U3L Ffm Verfahren zur Datenverschlüsselung

Programmiertechnik II

Kryptographie Reine Mathematik in den Geheimdiensten

Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl

Exkurs Kryptographie

OpenPGP Eine Einführung

VON. Kryptographie. 07. März Powerpoint-Präsentation

-Verschlüsselung mit GPG. Von der Key-Erzeugung zur verschlüsselten . Chemnitzer Linux-Tage März 2010 Vortrag

vorab noch ein paar allgemeine informationen zur d verschlüsselung:

Vortrag Keysigning Party

-Verschlüsselung

Public-Key-Kryptosystem

Kryptographie eine erste Ubersicht

Vorwort ist heute für Unternehmen ein häufig eingesetztes Kommunikationsmittel, das zum Austausch von Informationen verwendet wird.

Was ist Kryptographie

Kryptographie. Nachricht

ESecur Die einfache verschlüsselung

Möglichkeiten der verschlüsselten -Kommunikation mit der AUDI AG Stand: 11/2015

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Verschlüsselung. Chiffrat. Eve

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit Grundlagen: Asymmetrische Verschlüsslung, Digitale Signatur

Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen

Grundfach Informatik in der Sek II

Einführung in PGP/GPG Mailverschlüsselung

Verschlüsselte s: Wie sicher ist sicher?

Netzsicherheit Architekturen und Protokolle Instant Messaging

Unterhalten Sie sich leise mit Ihrem Nachbarn über ein aktuelles Thema. Dauer ca. 2 Minuten

OPC UA: Ein kritischer Vergleich der IT-Sicherheitsoptionen

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Methoden der Kryptographie

Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen

Einfache kryptographische Verfahren

Facharbeit Informatik Public Key Verschlüsselung Speziell: PGP Ole Mallow Basiskurs Informatik

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

Denn es geh t um ihr Geld: Kryptographie

Linux User Group Tübingen

Pretty Good Privacy (PGP)

Datenempfang von crossinx

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Secure Mail der Sparkasse Holstein - Kundenleitfaden -

s versenden aber sicher! Secure . Kundenleitfaden. Sparkasse Landshut

RSA Verfahren. Kapitel 7 p. 103

Verschlüsselungsverfahren

Einführung in die moderne Kryptographie

Mathematik ist überall

Transkript:

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 IT-Security Teil 2: Grundlagen der Kryptographie DES, RSA, Hashes Dr. Erwin Hoffmann E-Mail: it-security@fehcom.de

Risiken bei ungesicherter Kommunikation Übertragene Nachrichten können von unbefugten Dritten mitgehört werden Übertragene Nachrichten können von Dritten unbemerkt verändert werden Übertragene Nachrichten können unter falschem Absender übermittelt werden Kommunikationspartner können falsche Identität vortäuschen (z.b. Web- Server) Fazit: Die Sicherheit bei ungesicherter elektronischer Kommunikation entspricht in etwa dem Sicherheitsstandard einer Postkarte

Aktuelles Sicherheitsschema bei der Datenübertragung Private-Key Ablauf der Sitzung Verschlüsselung Nutzdaten Public-Key Eröffnen der Sitzung Übertragung der privaten Schlüssel 1 2 3 4 Message-Digest Sicherstellen der Integrität bzw. Signieren der Nutzdaten Zertifikate Austauschen von Authentisierungsund Autorisierungsinformationen

Einsatz kryptopgraphischer Verfahren Gewährleistung der Vertraulichkeit von Daten durch Verschlüsselung wird die Nutzung abgehörter Daten durch Dritte unterbunden Authentizität und Integrität von Daten durch Signatur wird die Herkunft nachweisbar, sowie die Tatsache, dass während des Transports keine Veränderung stattgefunden hat Authentisierung von Benutzern, Diensten oder Anwendungen durch Zertifikate können sich Kommunikationspartner zweifelsfrei ausweisen

Verschlüsselung Historische Betrachtungen Bis 1970 wurde Kryptographie im wesentlichen für militärische Kommunikation genutzt. Mit den aufkommenden Kommunikationsprotokollen OSI/ISO und TCP/IP wurde der Bedarf an Vertraulichkeit erkennbar und einerseits als Bestandteil der Presentation-Layer verstanden, andererseits eine entsprechende SW- Entwicklung über öffentliche Ausschreibungen konkret gefördert. 1977 wurde der DES Algorithmus als effizientes und effektives symmetrisches Block-Ziffer Verschlüsselungsverfahren (Private Key) von der ANSI als Standard eingeführt. 1976 veröffentlichten (und patentierten) Diffie und Hellman den ersten Public/Private-Key Algorithmus (DH). 1978 wurde als weiterers Public-Key Verfahren RSA (Rivest, Shamir und Aldeman) der Öffentlichkeit vorgestellt (und patentiert).nach Freigabe des Patents im September 2000 ist heute RSA aufgrund seiner Effizienz der Standard- Algorithmus im Internet 1992 erfolgte die ersten Entwicklungen für einen Message-Digest Algorithmus (Rivest: MD5, Secure Hash Algorithm SHA-1).

Verschlüsselung Heutige Implementierungen 1994 kombinierte Eric Young von Netscape die symmetrische Verschlüsselung von DES mit den Public-Key Algorithmen DH und RSA sowie mit einem Message Digest Verfahren und schuf das TCP-basierte SSLeay Protokoll, das zentrale Zertifikate nutzen kann. [http://columbia.edu/~ariel/ssleay]. Nahezu zeitgleich entwickelte Phil Zimmermann den PGP Algorithmus (Pretty Good Privacy). Mit PGP verschlüsselte und signierte Nachrichen (insbesondere E- Mails) können. Secure Shell (SSH) wurde 1995 vom Finnen Tatu Ylönen entwickelt und steht heute in der Version 2 (RFC 4250-4256) als sicherer Ersatz für Telnet und FTP zur Verfügung. Aufgrund der Patent-Situation (vgl. Dan Bernstein [http://cr.yp.to/patent.html]) und den US Export-Bestimmungen wurden hoch-bittige Verfahren von der Nutzung ausserhalb der US ausgeschlossen. Viele Patente sind aber seit dem Jahr 2000 ausgelaufen, sodass die Unterscheidung zwischen US-Versionen und internationalen Versionen hinfällig geworden ist.

Klassifikation Verschlüsselungsverfahren Schlüssel basierte Verfahren Asymmetrische Verfahren Verfahren, die auf Geheimhaltung des Algorithmus basieren Symmetrische Verfahren Blockverfahren Streamverfahren Generell gilt: Verfahren, bei denen der zugrunde liegende Algorithmus unbekannt ist ("Security by Obscurity"), sollten nicht eingesetzt werden, da keine gesicherten Nachweise über die Sicherheit des Verfahrens existieren!

Symmetrische (Secret/Private Key) Verfahren Bei symmetrischen Verfahren werden zum Verschlüsseln und Entschlüsseln der gleiche Schlüssel verwendet Sender m Empfänger m = crypt( m, k ) m = decrypt( m, k ) m = Mitteilung, m = verschlüsselte Mitteilung, k = (geheimer) Schlüssel, crypt = Verschlüsselungsalgorithmus, decrypt = inv(crypt) Der Schlüssel muss beiden Partnern bekannt sein, Dritten darf der Schlüssel nicht bekannt sein Problem: Schlüsselaustausch Vorteil: Symmetrische Verfahren sind sehr schnell Bekannte Algorithmen: DES, 3DES, IDEA, RC4, Blowfish,...

Data Encryption Standard DES geschützter Bereich Zufallszahl Schlüssel- Weitergabe Schlüsselgenerierung x k(x) ungeschützter Bereich k -1 (k(x)) x Data Encryption Standard [DES77] genormt als ANSI X3.92 ist symmetrische Verschlüsselung mit einem geheimen Schlüssel. Geheimer Schlüssel muss beiden Partnern bekannt sein (Verschlüsselung und Entschlüsselung). Schlüsselübergabe muss auf gesichertem Weg erfolgen, unabhängig von der verschlüsselten Information.

Merkmale von DES DES ist Hardware-nah konzipiert (Register-Tausch). Zentrale Elemente von DES sind: Blockziffern: Die Eingangswerte (Klartext) wird in Blöcken zu 64 Bit zerlegt. Konfusion: Die Eingangswerte werden in zwei 32 Bit grosse komplementäre Teilbereiche aufgeteilt und gemischt, d.h. in 16 Runden permutiert, und hiermit der eigentliche Chiffretext erzeugt. Die Schlussspermutation ist invers zur Eingangspermutation. Diffusion: Der 64 Bit Schlüssel K wird zunächst auf 56 Bit verkürzt und in zwei Hälften (X i und Y i ) aufgeteilt. Bei jeder Permutation i wird X i, Y i um ein oder zwei Bit nach links verschoben und die resultierenden Hälften K i zur Verschlüsselung der jeweiligen Datenhälfte benutzt. Symmetrische Ver-/Entschlüsselung: DES nutzt den gleichen Algorithmus zur Ver- wie auch zur Entschlüsselung. Lawineneffekt/Chaotischer Chiffretext: Kleine Änderungen des Klartextes führen zu einer nicht-verhersagbaren Änderungen des resultierenden Chiffretexts.

Triple DES (3DES) Beim Triple DES (3DE) Verfahren wird der DES-Algorithmus dreimal ausgeführt, aber mit zwei mindestes unterschiedlichen Schlüsseln C = E K1 3 (D K2 (E K1 (M))): C = Chiffrierter Text, M = Mitteilung, E = DES Encryption D = DES Decryption K i = Schlüssel i

AES Unter der Stichwort Advanced Encryption Standard AES wurde 1997 ein Wettbewerb gestartet, aus dem 10/2000 der Algorithmus Rijndal (der Belgier Joan Deamen und Vincent Rijmen) hervorging. Ziele: Symmetrische Blockchiffre mit Blockgrössen von 128 Bit und Schlüssellängen, 128, 192 und 265 Bit. Sicherheit: Mathematischer Beweis erforderlich. Einfachheit: Implementierung in Hardware. Flexibilität: Unterstützung unterschiedlicher Blockgrössen und Schlüssellängen. Effizienz: Schneller als 3DES. Öffentlichkeit:Der Algorithmus ist komplett öffentlich.

Andere Chiffren Blockziffer-Codes IDEA (International Data Encryption Algorithm) der ETH Zürich: 64 Bit Blöcke, 128 Bit Schlüssel; Anwendung PGP. Blowfish bzw. Towfish von Bruce Schneier: bis zu 128 Bit Blockchiffre mit variabler Schlüssellänge 256 Bit. RC2, RC5 und RC6 (Ron Rivest/MIT) für RSA Security entwickelt: Einsatz bei S/MIME. Serpant MARS CAST-128 Streamziffer-Codes RC4_ 128: RC4 Algorithmus; Schüssellänge 128 Bit RC4_ 40: RC4 Algorithmus; Schüssellänge 40 Bit

Schlüsselaustausch-Problem Wie kann ein geheimer Schlüssel zwischen den beteiligten Kommunikationspartner ausgetauscht werden? Komplexität, Anzahl der benötigten Schlüssel: ( n * (n - 1) ) / 2

Asymmetrische (Public Key) Verfahren Zum Ver- und Entschlüsseln werden verschiedene Schlüssel verwendet: Verschlüsseln erfolgt mit dem Private Key (p) des Empfängers Entschlüsseln mit dem Public Key (s). Sender Empfänger m m = crypt( m, p ) m = decrypt( m, s ) m = Mitteilung, m = verschlüsselte Mitteilung, p= privater Schlüssel, s = öffentlicher Schlüssel crypt = Verschlüsselungsalgorithmus Vorteil: Kein Problem mit Schlüsselaustausch Nachteil: Algorithmen sind Faktor 1000 langsamer als symmetrische Verfahren und große Schlüssellängen Bekannte Algorithmen: RSA, Diffie-Hellman, ElGamal, Elliptic Curve

Diffie-Hellmann Mittels DH-Algorithmus können gemeinsame geheime Schlüssel auf den Partnersystemen generiert werden, ohne dass die Kommunikationspartner diese über unsichere Kanäle übertragen müssen: Initialisierung: Auf beiden Systemen A und B muss zunächst eine grosse Primzahl p und eine weitere Zahl g berechnet werden. Beide Zahlen können öffentlich sein. Verbindungsaufnahme (Client): A wählt eine grosse ganze Zahl x (geheim) und berechnet Z A = g x mod(p). Verbindungsaufnahme (Server): B wählt eine grosse Zahl y (geheim) und berechnet Z B = g y mod(p). Austausch: A und B tauschen Ergebnisse Z A und Z B aus. Sitzungsschlüssel: A berechnet: S = (Z B ) x mod(p) = g y*x mod(p) B berechnet: S = (Z A ) y mod(p) = g y*x mod(p) Einwegfunktion: Weist die Primzahl p mindestens 1024 Bit auf (307 Dezimalstellen) kann auch unter Kenntnis von p, g sowie Z A und Z B die Operation nicht in rechentechnisch vernünftiger Zeit umgekehrt, d.h. der Sitzungsschlüssel ermittelt werden.

RSA Verfahren Das RSA Verfahren kann im Gegensatz zu DH Algorithmus on-thefly eingesetzt werden: Client: Primzahlprodukt: A wählt zwei Primzahlen p und q mit deutlich unterschiedlichen Längen und berechnet n = p * q. Öffentlicher Schlüssel P(e,n): A sucht eine klein ungerade Zahl e, die zu (p-1)(q-1) relativ prim ist (ggt(e,j(n)) = 1) Geheimer Schlüssel S(d,n): A berechnet d = e -1 (mod(p-1)*(q-1)) Euklidscher Algorithmus Übermittlung öffentlicher Schlüssel: A übermittelt P an B und hält S geheim. Server Verschlüsselung: B verschlüsselt M mit C = E(M) = M e mod(n). Client Entschlüsselung: A entschlüsselt C= E(M) mit D(C) = C d mod (n). Sicherheit: Die Primzahlen p und q können wesentliche kleiner sein als beim DH Algorithmus; die Sicherheit beim RSA Verfahren beruht auf der Faktorisierung von Primzahlen.

Theorem 2 Die heuten Verschlüsselungsmethoden basieren vorwiegend auf der Kenntnis grosser Theorem Primzahlen. 2: Gelänge es, grosse Primzahlen mit geeigneten Algorithmen schneller zu bestimmen, wäre das eine ernsthafte Bedrohungen der heutigen IT-Security. Die notwendige Schlüssellänge wird vor allem durch den verwendeten Algorithmus bestimmt: Diskreter Logarithmus (DH) Primzahl-Faktorisierung (RSA) Elliptische Kurven (Galoiskörper)

Sendet p an Empfänger Man in the middle Attacke Die Verwendung von Schlüsseln alleine ist nicht ausreichend! Sender Angreifer Empfänger p & s p q & t Fängt Nachricht ab und sendet q an Empfänger Hält q für Public Key des Senders Entschlüsselt mit s Fängt Nachricht ab, entschlüsselt mit t, verschlüsselt neu mit p und sendet Nachricht weiter Sendet Nachricht verschlüsselt mit q

Hybrid Verfahren Hybrid Verfahren verbinden die Vorteile der asymmetrischen Verfahren (Schlüsselverteilung) mit der Geschwindigkeit symmetrischer Verfahren Public Key Verfahren dient nur der verschlüsselten Übertragung eines symmetrischen Schlüssels Symmetrischer Schlüssel dient der Massenverschlüsselung Sender sk = genkey() sk = crypt( sk, p ) m = crypt( m, sk ) sk m Empfänger sk = decrypt( sk, s ) m = decrypt( m, sk )

RSA und DES in Kombination RSA und DES in Kombination können gemeinsam mit einem TTP zur Authentisierung und Verschlüsselung eingesetzt werden. Verfahren: Absender verschlüsselt zu sendendes Dokument mit DES (Schlüssel k DES ). Absender ermittelt Public Key von Empfänger bei TTP (k Pub ). Absender verschlüsselt k DES mit k Pub und sendet diese an Empfänger. Empfänger entschlüsselt mit k Priv k DES des Absenders. Empfänger entschlüsselt mit k DES Dokument. Vorteile: DES Verschlüsselung ist relativ schnell. Schlüsselmanagement von RSA.

Schlüssellängen Bei symmetrischer Verschlüsselung mindestens 80 Bit, besser 112/128 Bit DES (56 Bit) ist nicht mehr sicher, statt dessen wird 3DES mit 112 oder 168 Bit verwendet Bei asymmetrischer Verschlüsselung mindestens 768 Bit üblicherweise werden DSA und RSA mit Schlüssellängen >= 1024 Bit eingesetzt

Message Digests: Hash-Funktionen Eine Hash-Funktion dient zum Abbilden einer Information mit variabler Länge m auf eine Variable mit fester Länge h (h = H(m)) m kann beliebige Länge besitzen (Datei) h hat feste Länge H(m) ist für beliebige Werte von m relativ einfach zu berechnen H(m) ist nicht umkehrbar, d.h. aus h kann trotz Kenntnis von H nicht auf m geschlossen werden h ist relativ eindeutig, d.h. H(m) ¹ H(n) (Kollisionsfreiheit) h wird als digitale Signatur von m betrachtet (digitaler Fingerabdruck bzw. Fingerprint) Bekannte Hash-Funktionen sind (MD2) MD5 und SHA Hash-Funktionen dienen zur Authentisierung von Dokumenten und als digitaler Zeitstempel bei Transaktionen

Digitale Signatur (Fingerprint) Zu signierendes Dokument Signiertes Dokument ("Fingerprint") Hashen des Dokuments Anhängen der verschlüsselten Hashmarke &g 990a23 6zu8kor65 Private Key &g 990a23 Verschlüsseln der Hashmarke

Erzeugung einer digitalen Signatur 1. Berechnung eines Message Digest für die zu signierende Nachricht mit einer kryptographischen Hashfunktion 2. Anhängen weitere Informationen, z.b. Herkunft der Nachricht, Zeitstempel,... an den Message Digest 3. Verschlüsseln dieser Daten mit dem Private Keys des Unterzeichnenden und Anhängen dieser Daten an die Nachricht 4. Versand der Nachricht, häufig zusammen mit Public Key des Absenders

Prüfung einer digitalen Signatur 1. Prüfung, ob dem zur Nachricht gehörenden Public Key getraut werden kann 2. Entschlüsseln der Signatur mit dem Public Key 3. Herkunft und Inhalt der Nachricht sind gesichert, wenn sich die Signatur entschlüsseln lässt und die in der Signatur enthaltenen Informationen zur Nachricht passen, also Absender übereinstimmen, der Message Digest korrekt ist,... Bekannte Hashfunktionen: MD5, SHA-1, SHA-256

HMAC: (Key) Hashed Message Authentication Code RFC 21074 spezifiziert eine besondere Anwendung für Message Authentication: HMAC. Mittels HMAC können gemeinsame Informationen (z.b. ein Passwort) von den Kommunikationspartnern abgeglichen werden, ohne sie zu übertragen. Algorithmus: Es wird ein Message Digest generiert: digest = MD5(('secret' XOR opad), MD5(('secret' XOR ipad), challenge)) i opad = padding Zeichen, secret = Passwort challenge = gemeinsame Zeichenfolge Der Hash-Algorithmus ist nicht festgelegt (MD5 oder SHA-1). HMAC wird im besonderen beim sog. Challenge/Response-Verfahren, typischerweise als CRAM-MD5 zur Benutzer-Authentisierung eingesetzt (Unumkehrbarkeit der Funktion). Benutzername und Passwort werden vorher i.d.r. base64 encodiert

Theorem 3 Alle Verschlüsselungsverfahren sind angreifbar, wenn Eingangswerte für die Verschlüsselung Theorem vorhersagbar 2: sein (= Gegenteil von Diffusion). Typischerweise werden zur Initialisierung Zufallszahlen genutzt, die mittels random() Routinen generiert werden. Die Werte sind jedoch häufig nur Pseudo-zufällig. Beim Challenge/Response-Verfahren CRAM-MD5 werden als Eingangsgrössen für das Challenge die PID des Prozesses sowie der Zeitstempel benutzt. Beide Grössen sind gut vorhersagbar.