Kryptografie und Zertifikate (Cryptoparty)

Preview:

DESCRIPTION

Eine kurze Einführung in Grundlagen der Verschlüsselung und elektronischen Unterschrift mit anschließendem Workshop zur Nutzung von GnuPG (PGP) bei E-Mail

Citation preview

Kryptografie und Zertifikate

Einstieg und Überblick

GRUNDLAGEN

Verschlüsselung symmetrisch/asymmetrisch, Anwendung für sichere Kommunikation, Zertifikate, kryptografische Standards für Internet und E-Mail, Authentifizierung

Anwendungsfälle

• Sichere E-Mail (liegt nahe, wird aber kaum verwendet)

• Sichere Kommunikation mit einem Webserver (https)

• Sicherung anderer Webprotokolle (SMTP, POP3, IMAP)

• Echtheit und Herkunft von Dokumenten (Dateien)• Unverfälschtheit von Programmen und Makros• Authentifizierung

Kerckhoffs‘sches Prinzip

Die Sicherheit eines Kryptosystems darf nicht von der Geheimhaltung des Algorithmus abhängen. Die Sicherheit gründet sich nur auf die Geheimhaltung des Schlüssels.(1883)

Im Gegensatz zu „Security by Obscurity“

Symmetrische VerschlüsselungAlice

Bob

Beispiele symm. Verschlüsselung

• Blowfish• DES (Data Encryption Standard)• Triple-DES• AES (Advanced Encryption Standard), auch

„Rijndael-Algorithmus“

Sicherheit der Verfahren

• Beweisbare Sicherheit?• Algorithmus (angreifbare Schwachstellen)• Schlüssellänge und verfügbare Rechenleistung

BSI-Empfehlungen: https://www.bsi.bund.de/cln_192/ContentBSI/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html

Asymmetrische Verschlüsselung

Verschlüsselung in der Praxis 1

• Asymmetrische Verfahren rechenaufwändig• Kombination von asymmetrischer und

symmetrischer Verschlüsselung („hybride Verschlüsselung“)

Verschlüsselung in der Praxis 2

Verschlüsselung in der Praxis 3

Verschlüsselung in der Praxis 3

GPG-Beispiel

Verschlüsselt – alles OK?

• Wessen öffentlichen Schlüssel benutze ich denn gerade?

• Beispiele: Sparkasse• 2 Lösungsansätze:– „Web of Trust“ (entspricht Bekanntenkreis)– Zertifikate (entspricht Ausweisbehörde)

In der Praxis macht eine verschlüsselte Kommunikation ohne Identifikation des Gegenübers keinen Sinn „PKI“ (Public-Key-Infrastructure)

Zertifikat ≠ Zertifikat

• Welche Identität wird bestätigt (Person mit Name, Firma, E-Mail-Adresse, Webserver, Code-Author)

• Wie gut wurde die Identität vom Aussteller überprüft?

• Wie gut ist der private Schlüssel geschützt? (Kette von Erzeugung bis Anwendung)

• Anbieter SSL: Verisign, Thawte, RapidSSL, …

Die elektronische Signatur

GPG-Beispiel

Bekannte Probleme mit Zertifikaten

• Der DigiNotar-Fall (http://tinyurl.com/bwau398)

• Die JAVA-Standardkonfiguration überprüfte sehr lange keine Zertifikate auf Rückruf (u.a.)

• Rückruflisten werden nicht online geprüft (viele Anwendungen, bspw. Browser)

SSL bzw. TLS

• Zusätzliche Protokollschicht zur Verschlüsselung

• Selbst 2 Schichten

Schwächen von SSL bzw. https

• Unterschiedliche kryptografische Verfahren möglich – nicht alle sicher

• Server sollten die sichersten Verfahren vorziehen / erzwingen (aber: Rechenlast!)

• Zertifikat-Fälschung• Endpunkt-Angriffe (Beispiel: De-Mail)• Schlechte Zufallszahlen• Mitgelauschter Datenverkehr kann evtl. später

entschlüsselt werden (außer: Perfect Forward Secrecy)

Zertifikate – gut versteckt

• Wurzelzertifikate sind vorgegeben• Windows/IE/Outlook etc: certmgr.msc• Mozilla (FF/TB): Extras-Einstellungen-

Erweitert-Verschlüsselung-Zertifikate anzeigen• Windows-Update (optionale)• Stichwort Zertifikat-Rückruf

Dokumentsignatur nach SigG

• Fortgeschrittene und qualifizierte elektronische Signaturen

• Signaturgesetz und SigV (nationale Umsetzung einer EU-Richtlinie)

• Ziel: Rechtssicherheit im elektronischen Geschäftsverkehr (insb. qualifiz. el. Sign.) (§ 126a BGB „Elektronische Form“, § 3a Verwaltungsverfahrensgesetz „Elektronische Kommunikation“, § 130a ZPO „Elektronisches Dokument“, § 371a ZPO „Beweiskraft elektronischer Dokumente“, § 14 Umsatzsteuergesetz „Ausstellung von Rechnungen“)

Sichere Signaturerstellungseinheit

• Meist Smartcard oder RFID (neuer PA)• PIN-Eingabe am Leser• Vorschaufunktion der Software

• Verhaltensregeln für Anwender

• Erstellen einer qualifizierten SignaturSignaturkartenstatus

E-Mail (S/MIME)

• Bereits in Outlook und viele andere Programme integriert

• Optionen für den Fall einer scheiternden Prüfung einstellbar

• Aber: Bei der Anerkennung von Zertifikaten scheiden sich die Geister – Windows-Update für Stammzertifikate ist nur

optional– Selbstsignierte oder organisations-interne Zertifikate

E-Mail (PGP)

• Gnu4WIN (BSI) inkl. Outlook-Plugin• Enigmail für Thunderbird• Web of Trust– Gegenseitiges Unterschreiben von Schlüsseln– ACHTUNG: Daraus sind Beziehungsgeflechte

erkennbar (öffentlich)

WORKSHOP

Verschlüsseln, Unterschreiben, SSL/TLS, Vorführung Dokumentsignatur (SigG), signierte & verschlüsselte E-Mail, TYPO3: RSA-Authentication Extension, Salted Password Extension

Software

• Mac: https://gpgtools.org/ • Win: http://

www.chip.de/downloads/GNU-Privacy-Guard-GnuPG_16838073.html

• Win (alternativ): Gpg4WIN & Outlook - http://www.gpg4win.de/

GPG-Beispiel Verschlüsselung• Bob (Schlüsselpaar erzeugen):• gpg-test --gen-key• gpg-test --export Bob > bob.key• copy bob.key ..\alice• Alice (Nachricht schreiben & verschlüsseln):• notepad klartext.txt • gpg-test --import bob.key• gpg-test –K• gpg-test --list-keys• gpg-test -e -a -r Bob klartext.txt• copy klartext.txt.??? ..\bob• Bob (Nachricht entschlüsseln):• gpg-test -d klartext.txt.???

zurück

GPG-Beispiel Unterschrift• Alice (Schlüsselpaar erzeugen):• gpg-test --gen-key• gpg-test --export Alice > alice.key• copy alice.key ..\bob• Bob (Alice’s Schlüssel importieren):• gpg-test --import alice.key (!!!)• Alice (Nachricht schreiben & verschlüsseln):• notepad vertrag.txt • gpg-test --clearsign vertrag.txt• copy vertrag.txt.asc ..\bob• Bob (Unterschrift prüfen):• gpg-test --verify vertrag.txt.asc

zurück

Siehe auch: http

://xkcd.com/1181/

Enigmail AddOn in Thunderbird (Workshop)

• Installation / portabel• Schlüsselpaar erzeugen• Optional: Schlüssel-Upload• Alternativ: Schlüssel verschicken• Verschicken einer verschlüsselten und

signierten E-Mail• Empfang derselben

Schluss

• Man kann es natürlich auch so machen:http://xkcd.com/1181/ … ;-)

Recommended