Donnerstag, 24. Mai 2012


Artikel

Januar 2012 | Artikel

Ziemlich gute Privatsphäre Fortsetzung, Teil 3

Teil 1   Teil 2   Teil 3   Teil 4   Teil 5   Teil 6   Teil 7   Teil 8   Teil 9   Teil 10   

PGP-Verschlüsselung im Detail

Die Schritte zur Verschlüsselung sind die Folgenden:

  1. Eine Signatur kann erzeugt werden
  2. Die Nachricht (und die Signatur) wird komprimiert
  3. Symmetrische Verschlüsselung mit zufälligem Schlüssel KM
  4. Asymmetrische Verschlüsselung des Schlüssels KM mit dem öffentlichen Schlüssel des Empfängers
  5. Zur leichteren Übertragung via E-Mail wird das Ergebnis noch Base64 kodiert
Zu guter Letzt werden noch Kopf- und Fußzeilen hinzugefügt. Das Ergebnis sieht dann beispielsweise aus wie in Listing 1.
Listing 1

-----BEGIN PGP MESSAGE-----

Version: GnuPG v2.0.16 (GNU/Linux)

hQEMA1PUVhZb8UnsAQf+KS9PNvkWYFONnoStveMc4KwvGT7WlRFv/ZACvdyFsKDO icurhL57uh56KCof1m5drfftwjDQWgNyMy0cixqV/2WzeQgjZILE0Z1FDg7cgAbs UZvy2hmaJf0dhHEUziALotfUMhoSeHeObxmomzb7vovJv5tWDtQ9W+p2tbQ4tiin LAsJtwQhEVPNltootBteC0dTgOdISe6kfqUSoN3A22SiSUihmjxMPiiO6iZB8gBS hhfiSPa4khNwODncRe2BjqW+YQHf7L6CfLjx2S1BCSr+KWLmUnVdWSUonhHPF9mI E/q7t2uoBWg0iQgCjQubgYeqSUYN/xWpqAUX9O71zdKUAbVjjLVT0qTjNLLvms2H s4BDzHEqKeuGuMAWFzyfuW+VNofTxtcHhzrdjPuYi7sRL3YNUvqUpcGeKGyTApW2 k/fd7U32av7Pq63NoKK2g3RFcyBUiSdNlNhW8TYS1NdMSMXNw1R9dWVgFmsLj2vs Rv89ufRiPbNLDXcx7CkRrTf13q0miy1850d6k5nt8qUFrnh4xQ==

=z6Xk

-----END PGP MESSAGE-----

Zur Entschlüsselung muss man diese Schritte natürlich rückwärts anwenden, mit dem dazugehörigen privaten Schlüsselgegenstück.

Genug der Vorworte

Um PGP-verschlüsselte E-Mails aus PHP heraus zu verschicken gibt es mehrere Lösungswege. Für jede dieser Lösungen benötigen wir eine Installation von GnuPG. Das wird je nach Betriebssystem unterschiedlich gemacht:

Einen ersten Überblick über die Features von GnuPG bietet die Hilfe: gpg --help, für ausführliche Informationen wirft man einen Blick in die Man Page: man gpg.

Teil 1   Teil 2   Teil 3   Teil 4   Teil 5   Teil 6   Teil 7   Teil 8   Teil 9   Teil 10   

Kommentare

Gravatar Oliver 25.01.2012
um 00:35 Uhr
Ein gewohnt schöner Artikel. Ich persönlich benutze sowas ähnliches in Verbindung mit einer stark modifizierten Version von phpmailer. Allerdings bin ich dazu übergegangen S/Mime zum Signieren als Standard zu nehmen.

Das liegt vor allem daran, dass man auch ohne Addons in den meisten Mailprogrammen das Siegel angezeigt bekommt bzw. das Schloss bei der Verschlüsselung. Wenn der User aber einen gpg key hinterlegt hat, wird auch mit gpg verschlüsselt und signiert. Leider leider wird das in der freien Webwelt bisher viel zu selten genutzt. Ich nutze übrigens auch die gnupg extension, weil ich den system Befehl nicht mag.
#zitieren