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
Quellen
• http://www.cryptoparty.in/documentation/ha
ndbook
• http://kryptoparty.de/?page_id=106
• https://www.bsi-fuer-
buerger.de/BSIFB/DE/Home/home_node.html
• etc.
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üsselung
Alice
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 Signatur
Signaturkartenstatus
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
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/ … ;-)

Kryptografie und Zertifikate (Cryptoparty)

  • 1.
  • 2.
    GRUNDLAGEN Verschlüsselung symmetrisch/asymmetrisch, Anwendungfür sichere Kommunikation, Zertifikate, kryptografische Standards für Internet und E- Mail, Authentifizierung
  • 3.
    Quellen • http://www.cryptoparty.in/documentation/ha ndbook • http://kryptoparty.de/?page_id=106 •https://www.bsi-fuer- buerger.de/BSIFB/DE/Home/home_node.html • etc.
  • 4.
    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
  • 5.
    Kerckhoffs‘sches Prinzip Die Sicherheiteines 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“
  • 6.
  • 7.
    Beispiele symm. Verschlüsselung •Blowfish • DES (Data Encryption Standard) • Triple-DES • AES (Advanced Encryption Standard), auch „Rijndael-Algorithmus“
  • 8.
    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
  • 9.
  • 10.
    Verschlüsselung in derPraxis 1 • Asymmetrische Verfahren rechenaufwändig • Kombination von asymmetrischer und symmetrischer Verschlüsselung („hybride Verschlüsselung“)
  • 11.
  • 12.
  • 13.
    Verschlüsselung in derPraxis 3 GPG-Beispiel
  • 14.
    Verschlüsselt – allesOK? • 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)
  • 15.
    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, …
  • 16.
  • 17.
    Bekannte Probleme mitZertifikaten • 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)
  • 18.
    SSL bzw. TLS •Zusätzliche Protokollschicht zur Verschlüsselung • Selbst 2 Schichten
  • 19.
    Schwächen von SSLbzw. 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)
  • 20.
    Zertifikate – gutversteckt • 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
  • 21.
    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“)
  • 22.
    Sichere Signaturerstellungseinheit • MeistSmartcard oder RFID (neuer PA) • PIN-Eingabe am Leser • Vorschaufunktion der Software • Verhaltensregeln für Anwender • Erstellen einer qualifizierten Signatur Signaturkartenstatus
  • 23.
    E-Mail (S/MIME) • Bereitsin 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
  • 24.
    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)
  • 25.
    WORKSHOP Verschlüsseln, Unterschreiben, SSL/TLS,Vorführung Dokumentsignatur (SigG), signierte & verschlüsselte E-Mail, TYPO3: RSA-Authentication Extension, Salted Password Extension
  • 26.
    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/
  • 27.
    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
  • 28.
    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
  • 29.
    Enigmail AddOn inThunderbird (Workshop) • Installation / portabel • Schlüsselpaar erzeugen • Optional: Schlüssel-Upload • Alternativ: Schlüssel verschicken • Verschicken einer verschlüsselten und signierten E-Mail • Empfang derselben
  • 30.
    Schluss • Man kannes natürlich auch so machen: http://xkcd.com/1181/ … ;-)