IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur,...

16
IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen ! Elektronisches Pendant zur eigenhändigen Unterschrift ! Electronic Signatures in Global and National Commerce Act („E-SIGN“, US, 2000), §106(5): The term ‘‘electronic signature’’ means an electronic sound, symbol, or process, attached to or logically associated with a contract or other record and executed or adopted by a person with the intent to sign the record.

Transcript of IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur,...

Page 1: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

IT-Sicherheit:

Digitale Signatur,Zertifikate, PKI,Sicherheitsprotokolle

2

Digitale Signaturen

! Elektronisches Pendant zur eigenhändigen Unterschrift

! Electronic Signatures in Global and National CommerceAct („E-SIGN“, US, 2000), §106(5):

The term ‘‘electronic signature’’ means an electronic

sound, symbol, or process, attached to or logically

associated with a contract or other record and

executed or adopted by a person with the intent to

sign the record.

Page 2: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

3

Anforderungen an digitaleSignaturen

! Digitale Signatur sollte nach Bruce Schneier folgende Eigenschaftenbesitzen:1. Überprüfbar (verifiable): Der Empfänger kann einfach überprüfen, dass

die Nachricht von dem Unterzeichner unterschrieben wurde.2. Nicht fälschbar (unforgeable): Nur der Unterzeichner kann die Signatur

an das Dokument anhängen.3. Nicht wiederverwendbar (nonreusable): Man kann nicht einfach eine

Unterschrift von einem Dokument entfernen und an ein anderesanhängen.

4. Unveränderbar (unalterable): Nach der Unterzeichnung ist dasDokument nicht mehr veränderbar (vgl. Datenintegrität)

5. Nicht zurücknehmbar (nondeniable): Die Unterschrift kann nichtzurückgenommen werden. (vgl. Verbindlichkeit).

4

Digitale Signatur mit RSA

Digitale Unterschrift:

Signatur D: D(M) = Md mod n = S

Verifikation E: E(S) = Se mod n = Mde mod n = M

Inwieweit werden die fünf Anforderungen an eine digitaleSignatur erfüllt? Zum Beispiel:! Verifikation (s.o.)

! Unveränderbarkeit: unterschiedliche Werte von M liefernverschiedene Werte für Md mod n

Page 3: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

5

Digitale Signatur mit ElGamal (1)

! Keine Vertauschung von Ver- und Entschlüsselungsfunktionwie bei RSA! Nachricht M kann aus der Signatur nicht zurückgewonnen werden

! Schlüsselerzeugung von Alice (wie bei der Verschlüsselung):! Wählt zufällig eine Zahl a und berechnet !:= ga mod p.

! Veröffentlicht (!, g, p) als öffentlichen Schlüssel.

! a ist der private Schlüssel!

6

Digitale Signatur mit ElGamal (2)

! Digitale Signatur einer Nachricht M:! Alice wählt eine einmalige Zufallszahl (nonce) r und bildet:

k= !r mod p

! Dann berechnet Alice s, so dass

(a ! k + r ! s) = M mod (p"1)

(Erweiterten euklidischen Algorithmus anwenden und r-1

(Multiplikatives Inverses von r) berechnen.)

! Digitale Signatur ist das Paar (k, s).

Fermat: g(p-1) = 1 für gcd(g,p) = 1

Page 4: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

7

Digitale Signatur mit ElGamal (3)

! Verifikation der digitalen Signatur einer Nachricht M:! Empfänger (z.B. Bob) erhält M und (k,s)

Empfänger überprüft:

gM mod p = (!k ! ks) mod p

Denn es müsste gelten:

gM mod p = g a # k + r # s mod p = gak ! gr

s mod p = (!k ! ks) mod p

Fermat: g(p-1) = 1 für gcd(g,p) = 1

8

Prinzip der digitalen Signatur

! Problem bei obigem Signaturschemata mit RSA und ElGamal:! die Signatur ist zu lang

! Lösungsidee:! Alice bildet zunächst den Hashwert H(M) (z.B. mit SHA1; MD5) von M und

signiert diesen mit ihrem privaten Schlüssel.

! Alice sendet die Nachricht und die Signatur an Bob.

! Bob bildet ebenfalls den Hashwert H(M) von M .

! Bob entschlüsselt die „digitale Signatur“ mit dem öffentlichen Schlüsselvon Alice und erhält den Wert h.

! Gilt h=H(M), so akzeptiert Bob die Signatur.

Page 5: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

9

Wiederholung:Kryptographischer Hash

! MD5, SHA-1: Hash fester Größe aus variablen Strings! MD5: 128 bit

! SHA-1: 160 bit Hi = C(Hi-1, Mi), nach Padding (Block: 512 bit)

! RIPEMD-160 (von der EU entwickelt)

! Ziele:! Kollisionsresistent: schwer, x " y zu finden mit h(x) = h(y)

! Urbildresistent: schwer, zu einem a ein y zu finden mit a = h(y)

! (Urbild-2: schwer, zu einem x ein y " x zu finden mit h(x) = h(y))

10

Funktionsweise: Bildung undVerifikation der digitalen Signatur

h=h(M) ?

Alice Bob

SignierteNachricht

Signatur-

vorschrift

KE Alice

h(M)

KD Alice

M

Hash-

Algorithmus

M

Hash-

Algorithmus

Signatur-

verifikation

Page 6: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

11

Digital Signature Algorithm (DSA)

! United States Federal Government Standard für digitaleSignaturen

! 1991 vom National Institute for Standards and Technology(NIST) als für den Einsatz im Digital Signature Standard(DSS) vorgeschlagen

! Basiert auf Algorithmus für Digitale Signaturen gemäßElGamal

! Verwendung der Einweg-Hashfunktion SHA-1

! Details bitte nachlesen (z.B. Wikipedia)

12

Zertifikate

! Problem: Woher weiß Bob, dass KE Alice zu Alice gehört?

! Persönlicher Austausch des öffentlichen Schlüssels ist in derRegel nicht praktikabel.

! Gefahr eines Man-in-the-Middle-Angriffs

! Wie kann man einen öffentlichen Schlüssel mit derIdentität des Besitzers (z.B. Alice) verknüpfen?

! Lösung: Ausstellung von Zertifikaten durch einevertrauenswürdige Partei bzw. Zertifizierungsstelle(Certification Authority, CA)

Page 7: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

13

X.509 v3-Zertifikate

! Festgelegt in RFC 3280 (war 2459); Standard für digitale Zertifikate! SubjectName: C=DE, O=Uni-Bremen, OU=FB3, OU=People,

CN=Emil MustermannIssuerName: C=US, O=Verisign, CN=Public CA

SerialNumber: 1BValidity - NotBefore: Wed Sep 18 09:12:25 2002 (020918071225Z)NotAfter: Mon Jan 1 00:00:00 2007 (061231230000Z)SubjectKey: Algorithm RSA (OID 1.2.840.113549.1.1.1), NULL

Public modulus (no. of bits = 1024):0 CACAF080 64F76D97 EA2662FA 81FF10FF .....Public exponent (no. of bits = 17):

0 010001

14

Bsp.: X.509 v3-Zertifikat & seine CA

Page 8: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

15

X.509 v3-Zertifikate: Details

! Im Wesentlichen entspricht ein X.509-Zertifikat derfolgenden kryptographischen Formulierung:CertCA(A) ={A, KE

A, T, L}KDCA, wobei

A – SubjectNameT – Gültigkeitsbeginn des ZertifikatesL – Gültigkeitsdauer

! CA bestätigt also durch eine digitale Signatur, dass KEA zu

A gehört und dass KEA aktuell ist.

! Woher aber kennt B nun den öffentlichen Schlüssel KECA

der CA?! Bildung von Zertifikatsketten

16

Ketten von Zertifikaten

! Kette von Zertifikaten der Certification Authorities CA1,..., CAn

! CAi bestätigt öffentlichen Schlüssel von CAi+1

! CAn bestätigt öffentlichen Schlüssel des Benutzers

! Wer bestätigt das Wurzelzertifikat?! In einem Web-Browser geschieht dies durch Einbau der

Wurzelzertifikate in den Browser.

! „Soziale“ Argumentation: Der Benutzer vertraut seiner Software(Browser) und somit auch den eingebauten Wurzelzertifikaten.

Page 9: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

17

Public Key Infrastructure (1)

! Public Key Infrastruktur (PKI)

“Public Key Infrastructure (PKI) provides the means to bind public

keys to their owners and helps in the distribution of reliable public keys

in large heterogeneous networks. “ NIST

The set of hardware, software, people, policies and procedures

needed to create, manage, store, distribute, and revoke Public Key

Certificates based on public-key cryptography. IETF (PKIX WG)

18

Public Key Infrastructure (2)

! Public Key Infrastruktur (PKI)

“A system of CAs (and, optionally, RAs and othersupporting servers and agents) that perform some set ofcertificate management, archive management, keymanagement, and token management functions for acommunity of users in an application of asymmetriccryptography” IETF (RFC 2828)

Page 10: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

19

Public Key Infrastructure (3)

! Komponenten einer PKI! Certification Authority (CA):

! Stellt Zertifikate aus und signiert sie! Veröffentlicht aktuelle Zertifikate! Erstellt und veröffentlicht Listen von ungültigen Zertifikaten(Certificate Revocation List, CRLs),! bietet Online Certificate Status Protocol (OCSP) für Clients

! Registration Authority (RA):! Arbeitet CA zu, bürgt für die Verbindung zwischen öffentlichem

Schlüssel und Identitäten/Attributen der Zertifikatsinhaber

! Verzeichnisdienst: i.d.R. LDAP, Verteilung der Zertifikate und CRLs! Zeitstempeldienst: signierte Zeitstempel (Gültigkeitsdauern, …)

20

Fazit zu Signaturen, PKI

! wissenschaftliche Fragestellungen sind im Prinzip schon lange gelöst! dem PKI-Hype vor ca. fünf Jahren folgte die Ernüchterung:

! das Etablieren einer Unternehmens-PKI ist aufwendig! das Ausrollen von Zertifikaten und Signaturkarten ist aufwendig, Nutzen

war gering (Anwendungen?)! Sperrlistenverwaltung, Trust-Center-Aufbau etc. schwierig! Unternehmensübergreifende PKI-Strukturen gibt es kaum (Haftung?)

! Einige Standards zur Thematik:

! X.509: Standard für digitale Zertifikate! PKCS: De-Facto Standards, definiert von RSA (vgl. RFC 3447 = PKCS#1)! PKIX: PKI-Gesamtstandard für das Internet! ISIS-MTT: deutscher PKI-Gesamtstandard, angelehnt an PKIX

Page 11: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

21

Sicherheitsprotokolle

! Bis jetzt: Kryptographische Grundbausteine! Symmetrische und asymmetrische Verschlüsselung! Hash, MACs, Digitale Signaturen! Zufallswerte, Nonces, Zeitstempel

! Sicherheitsprotokolle (security protocols,cryptographic protocols)! basieren auf diesen Grundbausteinen! Verschiedene Arten von Protokollen:

! Protokolle zur Authentisierung (z.B. Challenge Response-Protokolle,Kerberos, Needham-Schroeder )

! Schlüsselaustauschprotokolle (z.B. IKE, Diffie-Hellman)! E-Commerce-Protokolle (SSL/TLS), E-Government (OSCI – in

Bremen entwickelt)

22

Grundlegende Notation (1)

! Ein Protokoll besteht aus einer Menge von Regeln, die den Zustanddes Nachrichtenaustauschs zwischen zwei oder mehrerenKommunikationsteilnehmern beschreiben:

! Kommunikationsteilnehmer: Benutzer, Prozesse, Rechner, ...

! auch “Principals” genannt (s. zweite Vorlesung)

! Protokollschritten : A ! B : M

! “A sendet M an B gemäß dem n-ten Protokollschritt.”A, B Principals, M Nachricht

! Nachrichten können strukturiert sein: M = M1, ... , Mn

Page 12: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

23

Grundlegende Notation (2)

! Ein Protokoll ist eine Folge von Protokollschritten:

1 : A1 ! B1 : M1 2 : A2 ! B2 : M2

. .

! Protokolldurchläufe! Berücksichtigung einer feindlichen Umgebung:

Fehler, Verlust von Vertraulichkeit/Datenintegrität! Angreifer beherrscht Kommunikationskanal, kann aber nicht die

zugrundeliegenden kryptographischen Verfahren brechen(Dolev-Yao-Modell, 1981)

24

Transport Layer Security: SSL/TLS

! Entwickelt von Netscape für „E-Commerce“ im Web! Online-Shops: Schutz von persönlichen Daten, Kreditkartennummern etc.

! „HTTPS“ = HTTP über TLS

! Secure Sockets Layer (SSL)! letzte Version unter dem Namen SSL: 3.0

! SSL 2.0 war unsicher

! Transport Layer Security (TLS, RFC 2246 + 3546):leicht abgewandelter Nachfolger von SSL (= SSL 3.1)! Allgemein verwendbar, nicht nur HTTPS (z.B. POP3, IMAP)

! Literatur: E. Rescorla, SSL and TLS – Designing and Building Secure

Systems, Addison-Wesley, 2001.

Page 13: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

25

SSL/TLS: grundlegende Idee

! Hauptziel: Vertraulichkeit (Secrecy) zwischen demKunden (Web-Browser) und einem Web-Server

! SSL/TLS nutzt hybrides Verschlüsselungsverfahren:! Schlüsselaustausch mit Public-Key-Verfahren

! Öffentlicher Schlüssel des Web-Servers wird dem Web-Browser perX.509-Zertifikat bekannt gemacht (vgl. Screenshots auf früherer Folie)

! Anschließend: symmetrisches Verfahren zum Datenaustausch

26

SSL/TLS: Voraussetzungen! SSL/TLS Teilprotokolle:

! Handshake-Protokoll (Schlüsselaustausch)! Record-Protokoll (verschlüsselte Daten)

! Alert-Protokoll (aufgetretene Fehler während des Protokollaufes)

! Wir betrachten zunächst das Handshake-Protokoll! Vorausgesetzte Notationen, Bezeichnungen

! Kommunikationspartner C (client) and S (server)

! C#, S# (serielle Transaktionsnummern für C und S)! CS: Serverzertifikat

CS = CertCA(S) ={S, KES, T, L}KD

CA (nächste Folie)! Client unterstützt i.d.R. verschiedene kryptographische Verfahren (Suiten);

(übernächste Folie)

Page 14: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

27

Serverzertifikat

! Bindet den Public Keydes Servers an DNS-Namen des Servers

28

Kryptographische Suiten

Page 15: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

29

SSL/TLS:Handshake (1)

1. C ! S: C, C#, NC, Supported_Ciphers

2. S ! C: S, S#, NS,CS, Chosen_Cipher

Server soll immer stärkeres Verfahren wählen(128Bit RC4 wird also 40 Bit RC4 vorgezogen)

3. C ! S: {K0}KS

K0 Premaster Secret;! hieraus kann das Master Secret: K1 = h(K0, Nc, Ns) berechnet werden! S und C können dann aus K1 ihre Schlüssel für die symmetrische

Verschlüsselung und für MACs berechnen (jeweils ein Schlüssel für eineKommunikationsrichtung: KCS,, KSC)

30

SSL/TLS:Handshake (2)

4. C! S {finished, MAC(K1,alles bisher Geschickte)} KCS

finished symbolisiert das Ende des Handshake-Vorganges

5. S ! C {finished, MAC(K1,alles bisher Geschickte)} KSC

Anschließend Record-Protokoll: Es könnenverschlüsselte Daten gesendet werden wie z.B.Kreditkartennummern:{data} KCS

Page 16: IT-Sicherheit: Digitale Signaturen Digitale Signatur ... · IT-Sicherheit: Digitale Signatur, Zertifikate, PKI, Sicherheitsprotokolle 2 Digitale Signaturen!Elektronisches Pendant

31

SSL/TLS: Bewertung

! In SSL 3.1 = TLS 1.0 wurden bislang keine ernsthaftenSchwächen gefunden.! auch bei Analyse mit formalen Methoden

! Wohl aber in SSL 2.0 (vgl. Übung am Montag)

! Problem bei SSL/TLS: schützt nur die Kommunikation,nicht aber die Daten auf dem Server

! Performanceprobleme: Public-Key-Entschlüsselung aufdem Server! Server trägt also die Last (häufig wird TLS „abgestellt“)

32

Nächste Termine

Mo, 06.06.2005 10–12 Uhr:

• Vertiefung Digitale Signaturen, Sicherheitsprotokolle

Do, 09.06.2005 08–10 Uhr:

• Sicherheitsprotokolle, Fortsetzung

Übungsblatt 7 bald auf Stud.IP, s.:https://elearning.uni-bremen.de