Verwenden eines SSH-Schlüsselpaars zum Verschlüsseln von Dateien

Verwenden eines SSH-Schlüsselpaars zum Verschlüsseln von Dateien

Ist es möglich, eine Textdatei mit einem SSH-Schlüsselpaar über GNUPG zu verschlüsseln? Bei mir auf der Arbeit haben wir unser Paar bereits erstellt und es wird sehr nützlich sein, diese Schlüssel zum Senden verschlüsselter Dateien zu verwenden. Danke!

Antwort1

In puncto Sicherheit ist es sehrnicht empfohlendasselbe Schlüsselpaar für die Authentifizierung und die Datenverschlüsselung zu verwenden. Wenn beispielsweise ein zur Authentifizierung verwendeter Schlüssel kompromittiert wird, werden auch alle zuvor damit verschlüsselten Daten preisgegeben. (Ich bin überhaupt nicht gut in Kryptographie, aber ich glaube, dass es auch von dieser Seite einige Probleme gibt.)

Außerdem dauert die Generierung eines zweiten Schlüssels weniger als 10 Sekunden (undDasauf einem fünf Jahre alten Computer).


EsIstTechnisch ist es möglich, Daten mit einem SSH-Schlüsselpaar zu verschlüsseln, obwohl, wie @DavidSchwartz bemerkte, hierfür nur RSA-Schlüssel verwendet werden können – DSA und ECDSA können nur zum Signieren verwendet werden.

Dies bedeutet jedoch nicht, dass Sie den Schlüssel einfach in GnuPG importieren und erwarten können, dass er funktioniert.Dieser Beitragzeigt einige Unterschiede zwischen den von GnuPG verwendeten PGP-Zertifikaten und den bloßen RSA-Schlüsseln, die von SSH verwendet werden. Kurz gesagt enthalten GnuPG-„Schlüssel“ viel mehr Informationen als nur RSA-Parameter und es gibt einfach keine Tools, die einen vorhandenen Schlüssel in ein GPG-Zertifikat einbinden könnten – hauptsächlich, um Sicherheitsprobleme zu vermeiden.

Der "andere" E-Mail-Verschlüsselungsstandard, S/MIME, verwendet ein einfacheres Zertifikatformat (X.509) undSindweit verbreitete Tools zum Erstellen eines Zertifikats basierend auf einem vorhandenen RSA-Schlüssel. SchließlichkönnteLassen Sie bestehende Standards hinter sich und entwickeln Sie Ihre eigenen, indem Sie einfache alte RSA-Funktionen zum Verschlüsseln verwenden, die für praktisch jede Programmiersprache und sogar als Shell-Befehle über verfügbar sind openssl. Das eigene Grab zu schaufeln, bleibt dem Leser als Übung überlassen.

verwandte Informationen