0d036 – Verschlüsselung

Zusammenfassung

Dieses Mal erzählt Sven etwas allgemeiner über das Thema Verschlüsselung und gibt Tipps zur Nutzung einer geeigneten Verschlüsselung für den richtigen Zweck.
Wie immer mangelt es auch dieses mal nicht an Datenverlusten und Nachrichten, von denen ein Teil geeignet wäre die Allgemeinheit zu verunsichern.

Hausmeisterei

Datenverluste

News

Thema: Verschlüsselung

BitlockerLVM CoreStorage VeraCryptZip mit AES, 7zip mit EinschränkungenAmazon RedshiftTransparent Database Encryption“ (TDE)  – TDE wurde allerdings 2010 geknacktHTTPS SSL –  TLSTLS – Fingerprinting with JA3 and JA3SSSHRDP mit EinschränkungenSFTPFTP über TLSSCPVPN OpenVPN – (stunnelTorBoxcryptor  – PGP –  GPGargon2scryptbcryptPBKDF2symmetrische VerschüsselungAES  – TwofishBlowfishasymmetrische VerschlüsselungRSAPGPSMIMEHybride VerschlüsselungIPsec TLS/SSL

Aufgenommen am: 25.02.2019
Veröffentlicht am: 25.02.2019
Intro & Outro Chiptune: Pumped by ROCCOW
Logo CC BY 2.0 Richard Patterson

Disclaimer

In diesem Podcast werden Techniken oder Hardware vorgestellt, die geeignet sind, externe Geräte anzugreifen. Dies geschieht ausschließlich zu Bildungszwecken, denn nur, wenn man die Angriffstechniken kennt, kann man sich effektiv davor schützen. Denkt immer daran, diese Techniken oder Hardware nur bei Geräten anzuwenden, deren Eigner oder Nutzer das erlaubt haben.Der unerlaubte Zugriff auf fremde Infrastruktur ist strafbar (In Deutschland §202a, §202b, §202c StGB).

Ein Gedanke zu „0d036 – Verschlüsselung

  1. Levánt Irë

    Erstmal danke für den Podcast.
    Gehe gerade alle Folgen durch und sollte jetzt nicht zu alt für Kommentare sein.

    Zu Salt & Pepper:
    Salt ist zumeist eine Nonce (meist random buffer) die zum eigentlichen Passwort/Passphrase angehängt wird. Zumeist vorne oder hinten, seltener auch nach Algo. (im Prinzip salt&pepper hybrid)

    Die ist pro Passwort einmalig. Hauptzweck ist es damit Rainbowtables(platzsparende vorher berrechnete Hashes) zu verhindern. Siehe pre-computed attack.

    Pepper ist im Prinzip ein geheimet Salt der für *alle*, innerhalb einer Applikation, gleich ist. Dieser ist nicht in der Datenbank, sondern außerhalb. Z.b. im Kompilat oder einer Konfigurationsdatei die beim starten eingelesen wird.
    Ersteres hat zur Folge, dass reproduceable builds fehlschlagen, sofern der Pepper wirklich random ist.

    Weitere Verzögerungstaktik sind mehrere Hashzyklen. Zumeist optimiert man auf halbe bis ganze Sekunde des Systems (sodass es für einen Login nicht/kaum spürbar iist für den Cracker jedoch imens. Siehe bcrypt, pbkdef2,…

    Zu Client sendet einfach Hash:
    Hätte nur den Vorteil, dass der Server nicht das Klartextpasswort sieht und man pro Dienst vorgefertigte Hashes bräuchte. In der Realität wären das dann 2-3 Hasharten. Im schlimmsten Fall sogar verkürzte Passwörter, wenn der Dienst md5 vorschreibt. Die Entropie sinkt ebenfalls.
    Er müsste trotzdem selbst zerhacken, salzen und eventuell pfeffern.
    Da der Client zuvor nicht authentifiziert ist, wäre die Hashart öffentlich und clientside Salt unmöglich.

    Jedoch gibt es SCRAM(Salted Challenge Response Authentication Method). Hierbei authentifizieren sich Dienst und Client mit hash, nonce und salt. (Offiziell ist Salt public). Alternativ nimnt man zwei salts, wenn man paranoid ist ;).
    Client kann den ersten hash mit salt vorher berrechnen und musd so kein Klartextpasswort speichern.
    Es wird PBKDF2 mit SHA256 genutzt und Iterationen.
    Vorgänger hiervon waren Digest-MD5 und CRAM-MD5

    Nachteil:
    – Komplizierter zu implementieren bzw. ältere MD5.wurden oft falsch interpretiert, da komplizierter als SCRAM
    – PBKDF2 mit SHA1 oder SHA256 vorgeschrieben
    – Client muss es vorher implementieren, da sonst JS manipuliert werden könnte
    – Wenn ich TLS vertraue, dass JS nicht manipuliert wird, kann ich auch vertrauen, dass das Klartextpasswort sicher ist.

    SCRAM wird von SASL unterstützt und z.b. bei XMPP benutzt.

    Zu LVM:
    Logical Volume Manager wird gerne mit LUKS genutzt, jedoch macht es keine Verschlüsselung!
    LUKS kann auch alleine genutzt werden. Hierbei wird zwischen PLAIN, LVM on LUKS und LUKS on LVM. (im Prinzip Cryptoschicht auswechseln)

    Zu SFTP:
    Ist eigenes Protokoll. Braucht nur eine Verbindung.
    FTPS ist einfach FTP over SSL/TLS. Braucht zwei Verbindungen. (default, control und data)

    SSH kann einzelne Ports, alle Ports dynamisch via SOCKS (Thunderbird,Firefox könnens) oder tun und tap device 🙂 (Layer 2,3)
    X2GO nutzt das tun Device z.b. für remote desktop.
    Weiß grad nich ob Putty das kann. Gibt aber pseudo Netdevices die SOCKS können.

    Grüße

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert