Christian Kruse: PHP: Verschlüsselung E-Mail und Anhänge

Beitrag lesen

Hallo Linuchs,

  • Was benötige ICH als Programmierer für den Versand (Schlüssel - woher?), was der EMPFÄNGER für den Empfang?

Das hängt vom Verfahren ab. Das Standard-Verfahren wäre wohl PGP/GPG, da brauchst du den Public Key des Kunden. Den musst du halt abfragen.

Alternativ kannst du auch eine symmetrische Verschlüsselung verwenden, etwa mit Passwort-geschützten ZIP-Files (die verwenden AES-256 als Cipher); hier werden allerdings natürlich nur die Anhänge verschlüsselt und nicht der Mail-Text selber.

  • werden beim Verschlüsseln der Mail auch die Anhänge verschlüsselt?

Das hängt vom Verfahren ab ;-) ich gehe jetzt mal davon aus, dass du PGP verwenden willst; hier gibt es zwei Verfahren: PGP-Inline und PGP-MIME. PGP-Inline ist die erste Implementation von Verschlüsselung für Mails, hier wird der verschlüsselte Text in ASCII verpackt in den Text-Body der Mail geschrieben. Hier sind die Anhänge nicht verschlüsselt. Der Mail-Client muss dafür prinzipiell nichts können, der User kann die Mail notfalls auch „von Hand“ entschlüsseln.

Die zweite Methode, PGP-MIME, ist später entwickelt worden; hier wird die verschlüsselte Mail gemäß MIME-Standard verpackt. Hier ist es auch möglich, die Anhänge zu verschlüsseln. Das muss allerdings der Mail-Client auch unterstützen.

Leider ist PGP-Inline immer noch das Default-Format von dem am meisten verbreiteten Mail-Client mit Verschlüsselung (Thunderbird mit Enigmail); unterstützt werden aber beide Verfahren.

LG,
CK