Folien - Freie Universität Berlin

Transcription

Folien - Freie Universität Berlin
Schutz und Sicherheit
Teil 3
Prof. Dr. Margarita Esponda
Freie Universität Berlin
WS 2011/2012
-
M. Esponda-Argüero
1
Kryptographie als Sicherheits-Tool
- Sicherheit innerhalb von lokalen Rechnernetzen ist "relativ einfach"
- ein Betriebssystem kann theoretisch alle Kommunikationskanäle
kontrollieren.
- Sobald ein Rechner nach außen kommuniziert, ist die Sicherheit des
Systems nicht mehr so einfach zu garantieren.
- Eine vertrauenswürdige Netzverbindung ist heutzutage nicht
machtbar.
- Eine verbreitete Lösung ist es, allen zu misstrauen und die Anzahl von
Sendern und Empfängern mit Hilfe von Kyptographie zu beschränken.
-
M. Esponda-Argüero
2
Grundlegende Prinzipien der Kryptographie
Zweck:
• Nachrichten sicher durch ein unsicheres Medium zu senden.
• Die Verschlüsselungs- und Entschlüsselungs-Algorithmen
(Funktionen) sollen öffentlich sein.
• Die Geheimhaltung hängt von den Parametern des Algorithmus ab,
die als Schlüssel bezeichnet werden.
• Ziel ist es, eine Nachricht oder Datei zu verschlüsseln, so dass nur
autorisierte Personen diesen Chiffretext wieder entschlüsseln
können.
-
M. Esponda-Argüero
3
Encryption
Ein Verschlüsselungsalgorithmus besteht aus:
Einer Menge K von Schlüsseln
Einer Menge M von Nachrichten
Einer Menge C von Chiffretexten (verschlüsselte Nachrichten)
Einer Funktion E : K → (M→C). so dass für jedes k ∈ K, E(k) eine
Funktion für die Generierung von Chiffretexte aus den Nachrichten ist.
Einer Funktion D : K → (C→M). so dass für jede k ∈ K, D(k) eine
Funktion für die Generierung von Nachrichten aus den Chiffretexten ist.
-
M. Esponda-Argüero
4
Encryption
E und E(k) soll für beliebige k effizient berechenbar sein.
D und D(k) soll für beliebige k effizient berechenbar sein.
Grundlegende Eigenschaft:
Gegeben sei ein Chiffretext c ∈ C. Ein Rechner kann m
berechnen, so dass E(k)(m) = c nur wenn sie im Besitz
von D(k) ist.
-
M. Esponda-Argüero
5
Grundlegende Prinzipien der Verschlüsselung
Nachricht m
EncryptionAlgorithmus E
c = E(k)(m))
Verschlüsselte
Nachricht
DencryptionAlgorithmus D
Schreibe Nachricht
Encryption
Schüssel k
unsicherer
Bereich
Schüssel
Austausch
Decryption
Schüssel k
m = E(k)(c))
Nachricht
Nachricht m
-
Lese Nachricht
M. Esponda-Argüero
6
Symmetrische Kryptografie
• Aus dem gegebenen Verschlüsselungsschlüssel kann der
Entschlüsselungsschlüssel bestimmt werden und
umgekehrt.
• Das bedeutet E(k) kann von D(k) abgeleitet werden und
umgekehrt.
• DES (Data Encryption Standard) ist in den letzten
Jahren der meist verwendete symmetrische Algorithmus
gewesen.
-
M. Esponda-Argüero
7
Das DES-Algorithmus
64 Bits (chunk)
cipher-block-chaining
Erzeugt 16 Schlüssel
56 Bits Schlüssel
Eingangspermutation
K1
.
.
.
K16
1. Verschlüsselungsschritt
.
.
.
S-Boxes
16. Verschlüsselungsschritt
Ausgangspermutation
-
M. Esponda-Argüero
8
DES-Verfahrens
Probleme des DES-Verfahrens
Weil die Schlüssellänge nur 56 Bit beträgt, konnte DES
bereits durch Brute-Force-Angriffe gebrochen werden,
indem alle möglichen Schlüssel (ca. 72 Billiarden) getestet
wurden
-
M. Esponda-Argüero
9
Symmetrische Kryptografie
Nachfolger
- Triple DES
Triple Data Encryption Algorithm (TDEA)
- DES wird 3 Mal wiederholt
- c = E(k3)(D(k2)(E(k1)(m)))
- 168 Schlüssel-Länge (3x56 Bits)
- m = D(k1)(E(k2)(D(k1)(m)))
- AES
Advanced Encryption Standard.
- Ab 2001 neue Standard
- 128, 192 und 256 Schlüssel-Länge
- 10-14 Verschlüsselungs-Schritt
-
M. Esponda-Argüero
10
Public-Key-Kryptografie
Grundlegender Nachteil des DES-Verfahrens
Der Sender und der Empfänger müssen beide im Besitz des
gemeinsamen geheimen Schüssels sein.
Um das Problem des Schlüsselumtausches zu umgehen, wird
Public-Key-Kryptografie benutzt (Diffie und Hellman, 1976).
Unterschiedliche Schlüssel für die Verschlüsselung und die
Entschlüsselung werden verwendet.
-
M. Esponda-Argüero
11
Public-Key-Kryptografie
Jeder Benutzer hat zwei Schlüssel, einen öffentlichen und einen
privaten.
Der offene Schlüssel wird für die Verschlüsselung verwendet und der
private Schlüssel für die Entschlüsselung.
Beispiel:
RSA-Algorithmus (Rivest, Shamir und Adleman)
Basiert auf der Tatsache, dass es effiziente Algorithmen gibt,
die feststellen können, ob eine Zahl eine Primzahl ist, es aber
keine effizienten Algorithmen gibt, die die Primfaktoren einer
Zahl finden.
-
M. Esponda-Argüero
12
Asymmetrische Verschlüsselung
Weil es praktisch unmöglich ist, D(kd , N) von E(ke , N) abzuleiten,
muss E(ke , N) nicht geheim sein.
E(ke , N) (oder einfach ke) ist die public key
D(kd , N) (oder einfach kd) ist die private key
N ist das Produkt von zwei großen zufälligen Primzahlen p und q
(p und q können jeweils 512 Bits haben)
Der Verschlüsselungsalgorithmus ist:
E(ke , N)(m) = mke mod N, mit ke
so dass kekd mod (p−1)(q −1) = 1 gilt
Der Entschlüsselungs-Algorithmus ist:
D(kd , N)(c) = ckd mod N
-
M. Esponda-Argüero
13
Asymmetrische Verschlüsselung
Beispiel:
Nehmen wir an p = 7 und q = 13
dann N = 7∗13 = 91
und (p−1)(q−1) = 72
Wir wählen ke eine relative Primzahl zu 72 und <72, ergebend 5
dann berechnen wir kd , so dass kekd mod 72 = 1, ergebend 29
Dann haben wir folgende Schlüssel
Public key, (ke, , N) = (5, 91)
Private key, (kd , N) = (29, 91)
Die Verschlüsselung der Nachricht 69 mit dem public key ergibt die
62 (Chiffretext)
Der Chiffretext kann mit dem private key entschlüsselt werden.
-
M. Esponda-Argüero
14
RSA-Algorithmus
Beispiel
Nachricht 69
695 mod 91
Schreibe Nachricht
Encryption
Schüssel k5,91
public key
unsicherer
Bereich
62
6229 mod 91
Decryption
Schüssel k29,91
69
-
private key
Lese Nachricht
M. Esponda-Argüero
15
RSA vs. DES
-
RSA ist viel sicherer als DES
-
RSA einmalige Anwendung von Mathematischen Funktionen vs.
DES mehrfache Anwendung von Transformationen.
-
RSA fördert zwischen 100 und 1000 Mal mehr Rechenaufwand
als DES.
-
RSA kann verwendet werden, um die Schlüssel für den DESAlgorithmus sicher zu übertragen.
-
RSA ist nicht für größere Datenmengen geeignet, sondern für
Authentifizierung sehr gut geeignet.
-
M. Esponda-Argüero
16
Verteilung der Schlüssel
-
die Übergabe der Schlüssel beim symmetrischen Verfahren ist ein
Problem.
-
machmal wir out-of-band gemacht (in Papierform).
.- nicht immer praktikabel
-
die Schlüsselübergabe von Asymmetrischen Verfahren muss auch
vorsichtig gemacht werden.
man-in-the-middle-attack
-
M. Esponda-Argüero
17
Angriff auf Asymmetrische Verfahren
Schreibe Nachricht
Nachricht m
Schüssel kbad
EncryptionAlgorithmus E
3.E(kbad)(m)
Lösung:
Digitales Zertifikat
2.Öffentlicher
Schlüssel Kbad
Decryption
Schlüssel kbad
DencryptionAlgorithmus D
Lese Nachricht
Nachricht m
1 Öffentlicher
Schlüssel Ke
Decryption
Schlüssel kd
-
DencryptionAlgorithmus D
Man-in-the-middle
M. Esponda-Argüero
18
Authentifizierung
Ein Authentifizieruns-Algorithmus besteht aus folgende Komponenten:
- Einer
Menge K von Schlüsseln
- Einer
Menge M von Nachrichten
- Einer
Menge A von Authentifizierern (Authenticators)
- Einer
Funktion S : K → (M→A) so dass, für jedes k ∈ K, S(k) eine
Funktion für die Generierung von Authentifizierer aus der Nachrichten
ist. S und S(k) soll für beliebige k effizient berechenbar sein.
- Einer
Funktion V : K → (M×A→ {true, false}) so dass, für jedes k ∈ K,
V(k) eine Funktion für die Verifizierung der Authentifizierer aus der
Nachrichten ist. V und V(k) soll für beliebige k effizient berechenbar
sein.
-
M. Esponda-Argüero
19
Authentifizierung
-
für eine Nachricht m kann ein Rechner ein Authentifizierer a ∈A so
dass V(k)(m, a) = true erzeugen, nur wenn dieser im Besitz von S(k)
ist.
-
-
Rechner im Besitz von S(k) können Authentifizierer von Nachrichten
erzeugen, so dass beliebige Rechner, die V(k) besitzen, die
Authentifizierung verifizieren können.
-
es soll nicht machbar sein, S(k) aus dem Authentifizierer ableiten zu
können.
M. Esponda-Argüero
20
Authentifizierung - mit Hash-Funktionen
Motivation:
-
Verschlüsselte Nachrichten können eigentlich nicht manipuliert
werden.
-
mit Hilfe von Hash-Funktionen kann verifiziert werden, dass
Nachrichten tatsächlich nicht manipuliert worden sind.
-
Hash-Funktionen können Datenblöcke mit fester Größe aus einer
Nachricht m erzeugen.
Hash-Funktion
H( m ) erzeugt n-Bit Zahl (message digest)
-
M. Esponda-Argüero
21
Authentifizierung mit Hash-Funktionen
Eigenschaften der Hash-Funktionen:
-
die Hash-Funktion H muss kollisionsfrei sein
Wenn H(m) = H(m') ⇒ m = m'
Es existiert kein m und m' so dass m = m' und H(m) = H(m')
-
soll nicht umkehrbar sein.
-
Verbreitete Message-Digest-Funktionen
MD5
in MIT entwickelt, 128 Bit
SHA-1
160 Bit
Nachfolgerfunktionen SHA-2 und SHA-3 in Entwicklung
-
M. Esponda-Argüero
22
MAC-Authentifizierung
Massage Authentication Code (MAC)
verwendet symmetrische Verschlüsselung
Einfaches Beispiel:
-
MAC definiert S(k)(m) = f (k, H(m))
-
wobei f eine Einwegfunktion nach ihrem ersten Argument ist
-
k kann nicht aus f (k, H(m)) abgeleitet werden
-
Aufgrund des Kollitions-Freiheit von H können wir behaupten, dass
keine andere Nachricht dasselbe MAC produziert.
-
-
ein geeigneter Verifikations-Algorithmus ist V(k)(m, a) ≡ (f (k,m) = a)
M. Esponda-Argüero
23
Digitale Signatur
-
asymmetrisches kryptografisches Verfahren
-
zu einer Nachricht wird eine Zahl berechnet
-
in dem Digitale-Signatur-Verfahren kann S(ks) aus V(kv) nicht abgeleitet werden
- V ist eine Einwegfunktion
- ks ist der öffentliche Schlüssel und kv ist der private Schlüssel
-
Betrachten wir die RSA-Digitale-Signatur
-
Digitale Signatur der Nachricht wir aus S(ks )(m) = H(m)ks mod N abgeleitet
-
Der Schlüssel besteht aus den Zahlen (d, N), in dem N das Produkt der zwei
zufällig ausgewählten großen Primzahlen p und q ist
-
Der Verifizierungs-Algorithmus ist V(kv)(m, a) ≡ (akv mod N = H(m))
-
-
in dem kv die Gleichung kvks mod (p − 1)(q − 1) = 1 erfüllt
M. Esponda-Argüero
24
Signatur von Programmen
Software-Anbieter
Applet
Signatur
Signatur-Erzeugung
Benutzer
HA = hash(Applet)
Applet
Signature = encrypt( HA)
Signatur-Verifizierung
Signatur
H1 = hash(Applet)
H2 = dencrypt( Signature)
Wenn H1==H2 wird die
Signatur akzeptiert
Internet
-
M. Esponda-Argüero
25
SSL
Verschlüsselung kann fast auf jeder Ebene (Layer) des ISO-Modells
eingeführt werden.
Beispiel:
-
SSL Secure Socket Layer
-
entwickelt von den Firmen Netscape und RSA Data Security
-
Beschränkt die Kommunikation auf nur zwei Rechner
-
Wird für die Kommunikation zwischen Webserver und Browser verwendet,
wenn Kreditkarten-Transaktionen statt finden.
-
Asymmetrische Verschlüsselung für die Übergabe der Schlüssel
-
die für die Kommunikation mit Symmetrischer Verschlüsselung benötigt
wird.
-
M. Esponda-Argüero
26
Benutzer Authentifizierung
-
entscheidet für die korrekte Identifikation von Benutzern
-
Alle Schutz-Systeme hängen von eine korrekten BenutzerIdentifizierung ab
-
Passworte müssen geheim gehalten werden
- sollen oft verändert werden
- sollen nicht leicht zu erraten sein
- ungültige Login-Versuche sollen protokoliert werden
-
M. Esponda-Argüero
27
Authentifizierung
• Der meist verwendete Authentifizierung-Mechanismus
wird durch die Aufforderung vom Login-Namen und
Passwort realisiert.
• Das Passwortsystem ist die erste Verteidigung gegen
Angreifer.
• Die Login-ID wird für die DAC Discretionary Access
Control verwendet
• Der Eigentümer eines Objekts bestimmt, welche Rechte
andere Benutzer über das Objekt haben.
-
M. Esponda-Argüero
28
Authentifizierung
Das Passwortverfahren von UNIX-Systemen
Salt-Wert
12 Bits
Passwort
56 Bits
Benutzer ID
Verschlüsseltes
Passwort
Salt
[Salt,0]
Laden
crypt(3)
11 Zeichen
Laden eines Passworts
-
M. Esponda-Argüero
29
Authentifizierung
Das Passwortverfahren von UNIX-Systemen
Benutzer-ID
Benutzer ID
Verschlüsseltes
Passwort
Salt
[Salt,0]
Salt
Passwort
Crypt(3)
Verschlüsseltes
Passwort
Vergleich
Prüfen eines Passworts
-
M. Esponda-Argüero
30
Das Passwortverfahren von UNIX-Systemen
- Veränderte DES (Data Encryption Standard)
- Crypt(3) Einweg-Hashfunktion
- sehr langsam
- 12 Bit Salt-Wert aus der Uhrzeit abgeleitet
- verhindert Passwort-Duplikate
- verlängert das Passwort
- Modifikation des Verschlüsselungsalgorithmus
- 25 Wiederholungen
- Bedrohungen
- Kopieren der Passwortdatei
-
M. Esponda-Argüero
31
Sichere Hash-Salt-Schemas
-
Empfehlung in Linux, Solaris und FreeBSD
-
basiert auf das MD5-Hash-Algorithmus
-
MD5-crypt
- Salt mit 48 Bits
- keine Einschränkung der Password-Länge
- erzeugt einen Hash-Wert mit einer Länge von 128 Bits
- langsamer als crypt(3)
-
M. Esponda-Argüero
32
Sicherste Version eines Hash-Salt-Schemas
-
für OpenBSD entwickelt
-
Hash-Funktion basiert auf Blowfish symmetric block cipher
-
Bcrypt ist auch sehr langsam
- Passworte bis 55 Zeichen
- Salt-Wert mit 128 Bits
- erzeugt einen Hash-Wert mit 192 Bits
- Kostenvariable (Zeit um die Bcrypt Funktion zu berechnen)
- die Kostenvariable kann je nach User-ID unterschiedlich gesetzt werden.
-
M. Esponda-Argüero
33
Sicherheitssoftware
Spezielle Software-Tools, die die Rechteverwaltung des
Betriebssystems erweitern.
Beispiele:
AppArmor (Linux)
- Entwickelt von Novell
- Basiert auf Datei-System
SELinux (Linux)
- Entwickelt von der NSA
- Basiert auf Sicherheitslabeln, die Dateien mitgegeben werden
- komplexer
-
M. Esponda-Argüero
34
Grundlegende Antivirentechniken
Virenscanner
finden die spezifischen Codestruktur in jeder
infizierten Datei
Überwachungssysteme (Monitoring)
Überwachung des Systems auf ungewöhnliche
Aktivitäten oder Operationen
-
M. Esponda-Argüero
35
Implementierung von Sicherheitssystemen
-
Sicherheit auf verschiedene Ebenen
-
Sicherheitspolitik sagt was geschützt werden soll
-
Das Vulnerability-Assessment vergleicht der wirklichen Status des
Systems mit der Sicherheitspolitik
-
Intrusion-Detection-Systeme um Angriffe zu erkennen
-
durch Erkennung von Anomalien
-
durch Kontrolle der Signaturen
-
Virenschutz-Software
-
Buchhaltung und Protokollierung aller oder spezifischer System
und Netzwerk-Aktivitäten
-
M. Esponda-Argüero
36
Intrusion-Detection-Systeme
Der komplette Prozess unterteilt sich dabei in drei
Schritte.
• Wahrnehmung durch Sensoren, die Logdaten (HIDS)
oder Daten des Netzwerkverkehrs (NIDS) sammeln.
• Mustererkennung überprüft und verarbeitet die
gesammelten Daten und vergleicht sie mit Signaturen
aus der Musterdatenbank.
• Reaktion
-
M. Esponda-Argüero
37
Intrusion-Detection-Systeme
Quelle: Bundesamt für Sicherheit in der Informationstechnik
http://www.bsi.bund.de/literat/studien/ids02/index.htm
-
M. Esponda-Argüero
38
Intrusion-Detection-Systeme
Quelle: Bundesamt für Sicherheit in der Informationstechnik
http://www.bsi.bund.de/literat/studien/ids02/index.htm
-
M. Esponda-Argüero
39
Angriffs-Trends
- Webserver
- Handys
- Soziale
Netze
- Blogs
- viele
neue Geräte mit Betriebssystemen
- ...
-
M. Esponda-Argüero
40
Diebstahl mit Laptops?
Im April 2007 haben Kriminelle zum
zweiten Mal mit einer Laptop und
einem Sender den BMW X5 von
Beckham öffnen und starten können.
-
M. Esponda-Argüero
41
3
Steganographie
nur ein Bild
Bild + Text von Hamlet, Macbeth, Julius
Cesar, Der Kaufman von Venedig und
König Lear.
Es werden die Bits mit dem niedrigsten Stellenwert dafür verwendet.
-
M. Esponda-Argüero
42
Steganographie
Die Katze ist in den letzten zwei Bits aller Pixel-Farben vom
originalen Bild versteckt.
-
M. Esponda-Argüero
43
Literatur
Ken Thompson. Reflections on Trusting Trust. Communications of
the ACM 27, 8 (August 1984) pages 761-763.
Eugene H. Spafford. Crisis and aftermath. Communications of the
ACM 32, 6 (June, 1989) pages 678-687.
Steven R. Lerman, James D. Bruce, and Jerome H. Saltzer.
Teaching students about responsible use of computers.
Communications of the ACM 32, 6 (June, 1989) page 704.
Ross J. Anderson. Why cryptosystems fail. Communications of the
ACM 37, 11 (November 1994) pages 32-40.
-
M. Esponda-Argüero
44