© saicle/Shutterstock.com
PHP Magazin
Asynchrone Verschlüsselung mit Pretty Good Privacy (PGP)

Ziemlich gute Privatsphäre


Datenschutz finden alle wichtig, aber viele handeln in ihrem Alltag nicht danach. Am Telefon werden wildfremden Leuten Informationen verraten, Passwörter werden im Klartext durch das WLAN und Internet geschickt, um sich in den E-Mail-Account oder FTP-Server einzuloggen, und Nachrichten bei Facebook, Twitter und Co. werden unverschlüsselt über HTTP verschickt. Genau dasselbe trifft auch auf die E-Mails selbst zu: Sensible Daten gehen mit fast jeder E-Mail durch die Netze, Zugangsdaten, persönliche Informationen und der berufliche E-Mail-Verkehr werden im Klartext verschickt und empfangen. Aber das muss nicht sein: PGP ist eine End-to-End-Verschlüsselung, seit 20 Jahren verfügbar. Hier zeige ich, wie man in PHP E-Mails und Dateien verschlüsseln, entschlüsseln, signieren und prüfen kann.

Verschlüsselung ist wichtig und wird immer wichtiger, bei Passwörtern nutzt hoffentlich jeder Programmierer in seiner Software mittlerweile Einwegverschlüsselungen / Hashes, also Verfahren, um Passwörter nicht im Klartext in die Datenbank schreiben zu müssen, aber trotzdem in der Lage zu sein, ein eingegebenes Passwort überprüfen zu können. Einwegverschlüsselungen haben den großen Vorteil, dass man keinen Schlüssel benötigt, und demnach auch das Ergebnis nicht wieder entschlüsseln kann, um das Original zurückzuerhalten. Bekannte Vertreter sind das etwas in die Jahre gekommene MD5-Verfahren, neuere Verfahren sind beispielsweise SHA1 oder die Algorithmen aus der SHA2-Familie (Secure Hash Algorithm; SHA-224 ,SHA-256, SHA-384, SHA-512).

Symmetrische Verschlüsselung

Möchte man Daten verschlüsseln und sie auch später wieder entschlüsseln, kommt man als Erstes auf symmetrische Verschlüsselungsverfahren. Bekannte Vertreter sind AES, 3DES und Blowfish. Wer die Daten verschlüsselt und sie selbst auch wieder entschlüsseln möchte, muss nur dafür sorgen, dass das Passwort sicher gespeichert wird. Zur Verschlüsselung nimmt man ein Passwort, und nur mit genau diesem Passwort lässt sich auch das Original wieder herstellen.

Asymmetrische Verschlüsselung

Möchte man Daten verschlüsseln und jemand anderes, beispielsweise der Empfänger einer Nachricht, muss sie entschlüsseln können, hat man einen großes Problem: Man muss das Passwort an das Gegenüber übermitteln, logischerweise unverschlüsselt. Gerade im Internet ist das schwierig, wenn es in erster Näherung als unsicher angenommen wird. Häufig kommt deshalb die asymmetrische Verschlüsselung ins Spiel. Dabei gibt es ein Schlüsselpaar, bestehend...

PHP Magazin
Asynchrone Verschlüsselung mit Pretty Good Privacy (PGP)

Ziemlich gute Privatsphäre

Datenschutz finden alle wichtig, aber viele handeln in ihrem Alltag nicht danach. Am Telefon werden wildfremden Leuten Informationen verraten, Passwörter werden im Klartext durch das WLAN und Internet geschickt, um sich in den E-Mail-Account oder FTP-Server einzuloggen, und Nachrichten bei Facebook, Twitter und Co. werden unverschlüsselt über HTTP verschickt. Genau dasselbe trifft auch auf die E-Mails selbst zu: Sensible Daten gehen mit fast jeder E-Mail durch die Netze, Zugangsdaten, persönliche Informationen und der berufliche E-Mail-Verkehr werden im Klartext verschickt und empfangen. Aber das muss nicht sein: PGP ist eine End-to-End-Verschlüsselung, seit 20 Jahren verfügbar. Hier zeige ich, wie man in PHP E-Mails und Dateien verschlüsseln, entschlüsseln, signieren und prüfen kann.

Michael Kliewe


Datenschutz finden alle wichtig, aber viele handeln in ihrem Alltag nicht danach. Am Telefon werden wildfremden Leuten Informationen verraten, Passwörter werden im Klartext durch das WLAN und Internet geschickt, um sich in den E-Mail-Account oder FTP-Server einzuloggen, und Nachrichten bei Facebook, Twitter und Co. werden unverschlüsselt über HTTP verschickt. Genau dasselbe trifft auch auf die E-Mails selbst zu: Sensible Daten gehen mit fast jeder E-Mail durch die Netze, Zugangsdaten, persönliche Informationen und der berufliche E-Mail-Verkehr werden im Klartext verschickt und empfangen. Aber das muss nicht sein: PGP ist eine End-to-End-Verschlüsselung, seit 20 Jahren verfügbar. Hier zeige ich, wie man in PHP E-Mails und Dateien verschlüsseln, entschlüsseln, signieren und prüfen kann.

Verschlüsselung ist wichtig und wird immer wichtiger, bei Passwörtern nutzt hoffentlich jeder Programmierer in seiner Software mittlerweile Einwegverschlüsselungen / Hashes, also Verfahren, um Passwörter nicht im Klartext in die Datenbank schreiben zu müssen, aber trotzdem in der Lage zu sein, ein eingegebenes Passwort überprüfen zu können. Einwegverschlüsselungen haben den großen Vorteil, dass man keinen Schlüssel benötigt, und demnach auch das Ergebnis nicht wieder entschlüsseln kann, um das Original zurückzuerhalten. Bekannte Vertreter sind das etwas in die Jahre gekommene MD5-Verfahren, neuere Verfahren sind beispielsweise SHA1 oder die Algorithmen aus der SHA2-Familie (Secure Hash Algorithm; SHA-224 ,SHA-256, SHA-384, SHA-512).

Symmetrische Verschlüsselung

Möchte man Daten verschlüsseln und sie auch später wieder entschlüsseln, kommt man als Erstes auf symmetrische Verschlüsselungsverfahren. Bekannte Vertreter sind AES, 3DES und Blowfish. Wer die Daten verschlüsselt und sie selbst auch wieder entschlüsseln möchte, muss nur dafür sorgen, dass das Passwort sicher gespeichert wird. Zur Verschlüsselung nimmt man ein Passwort, und nur mit genau diesem Passwort lässt sich auch das Original wieder herstellen.

Asymmetrische Verschlüsselung

Möchte man Daten verschlüsseln und jemand anderes, beispielsweise der Empfänger einer Nachricht, muss sie entschlüsseln können, hat man einen großes Problem: Man muss das Passwort an das Gegenüber übermitteln, logischerweise unverschlüsselt. Gerade im Internet ist das schwierig, wenn es in erster Näherung als unsicher angenommen wird. Häufig kommt deshalb die asymmetrische Verschlüsselung ins Spiel. Dabei gibt es ein Schlüsselpaar, bestehend...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang