In diesem Artikel stelle ich dar, wie in PGP eine digitale Signatur erfolgen kann und wie diese vom Empfänger geprüft werden kann.
Signatur mit PGP
Bei der Signatur wird nicht die komplette Nachricht, sondern nur der Haswert asymetrisch signiert, da dies geringere Rechenleistung und damit Zeit benötigt. Dazu muss zunächst über einen Hash-Algorithmus wie MD5 oder SHA-1 ein Hash-Code erzeugt werden. Dieser wird dann mit dem entschlüsselten privaten Schlüssels des Absenders signiert. Die erzeugte Signatur wird an die Nachricht angefügt.
Prüfung der Signatur mit PGP
Die Prüfung der Signatur erfolgt über den öffentlichen Schlüssel des Absenders. Dieser wird über die bei der Signatur hinterlegten Schlüssel-ID bestimmt. Mit dem öffentlichen Schlüssel wird der verschlüsselte Hash-Wert hergeleitet und mit dem derzeitigen Hash-Wert der Nachricht verglichen. Sind beide Werte identisch, so wurde die Nachricht nicht verändert und somit gültig signiert.
Web of Trust
Primär wird die Authentizität eines öffentlichen Schlüssels durch eine Prüfung garantiert. Wenn eine Prüfung durchgeführt wird, wird dazu meist der Hash-Wert mittels Anruf per Telefon verglichen. Dieses Verfahren ist jedoch aufwändig. Wenn z.B. A den öffentlichen Schlüssel von B bereits geprüft hat und eine weitere Person C der korrekten Prüfung von A vertraut, dann kann er darauf verzichten. Die erfolgreiche Prüfung des Schlüssels von B durch A wird durch die Signatur des öffentlichen von B dokumentiert. So entsteht ein Netzwerk des Vertrauens (engl. Web of Trust), das nicht zentral kontrolliert wird und zudem kostenlos ist. Es besteht jedoch die Gefahr, dass ein privater Schlüssel dieses Netzes kompromitiert wird.