Sicherheitsrisiko bei Verwendung von "Signieren und Verschlüsseln" mit S/MIME-Zertifikaten

Hallo,

ich nutze u. a. GPG4Win zur Kommunikation und dem Datenaustausch mit dem BSI. Im Zuge einer Datenübermittlung ist mir folgendes Verhalten aufgefallen, was ich als problematisch erachte:

Voraussetzung:

  1. Windows 11 Pro
  2. Version 5.0.2 von GPG4Win
  3. Es sollen mehrere Dateien oder ein kompletter Ordner mittels S/MIME-Zertifikat verschlüsselt und signiert übertragen werden
  4. Die Dateien werden vor der Verschlüsselung und Signierung nicht mittels ZIP-Programm gezippt

Folgen:

  1. GPG4Win/Kleopatra erzeugt zwei Dateien, einmal eine .p7m-Datei und einmal eine .p7s-Datei.
  2. Ich würde nun erwarten, dass die .p7m-Datei eine verschlüsselte Datei ist und die .p7s-Datei die Signatur zur .p7m-Datei
  3. Dies ist, im Gegensatz zur Verwendung eines GPG-Keys, bei der Verwendung eines S/MIME-Zertifikats nicht der Fall
  4. Die .p7m-Datei enthält korrekt und verschlüsselt alle zu übertragende Dateien.
  5. Die .p7s-Datei enthält ebenfalls alle zu übermittelnden Dateien, nur um die digitale Signatur des Absenders ergänzt.
  6. Achtet man bei der Übermittlung der Dateien nicht darauf und versendet beide Dateien, in der Annahme, die .p7m-Datei enthält verschlüsselt die Daten und die .p7s-Datei “nur” die digitale Signatur zur .p7m-Datei des Absenders, kann jemand auf alle Dateien zugreifen, ohne über einen eigenen privaten Schlüssel zu verfügen, da die .p7s-Datei von jedermann zu öffnen ist und nur die Absendersignatur geprüft wird, gleichzeitig aber alle Dateien enthält.
  7. Das Verhalten tritt nicht auf, wenn man eine einzelne Datei mit einem S/MIME-Zertifikat verschlüsselt und signiert, dann wird korrekt eine verschlüsselte .p7m-Datei und die dazugehörige Signatur (.p7s) erzeugt.
  8. Nutzt man GPG/PGP-Schlüssel ist das Verhalten korrekt und man erhält eine verschlüsselte Datei mit integrierter Signatur.

Ich finde das Verhalten grenzwertig und problematisch, insbesondere da, wenn nur eine Datei verschlüsselt und signiert wird, alles korrekt ist, während bei mehreren Dateien das oben beschriebene Verhalten auftritt. Nur wer genau hinsieht und Dateigrößen vergleicht, wird ggf. stutzig werden und kontrollieren.

Hallo @ReS, Danke für deinen Bericht!

Ja, das sollte geändert werden. Ich habe gleich ein Ticket im Bugtracker angelegt: ⚓ T8324 Kleopatra: do not create a signed file when signing and encrypting folders (S/MIME or mixed)

@ReS eine neue Version von Gpg4win steht jetzt bereit, wo diese Änderung enthalten ist.

Entschuldigung für die späte Nachricht, aber ich war im Urlaub…

Ich habe gerade die neue Version installiert. Wenn ich jetzt das Verhalten richtig deute, können Verzeichnisse oder mehrere Dateien mit S/MIME nicht mehr in einem Zug verschlüsselt und signiert werden. Die Funktion bleibt aber bei GPG/PGP erhalten. Im Vergleich zur GPG/PGP-Methode zwar unschön, aber zumindest sollte jetzt dem Benutzer klar sein, dass er mit S/MIME bei mehreren Dateien/Ordner entweder signieren oder verschlüsseln kann.

Ich habe die Diskussion verfolgt und fand sie etwas “akademisch”. Wenn, auf Grund der S/MIME-Methodik, eine Signatur nicht für mehrere Dateien/Ordner möglich ist, könnte man doch das Verfahren umstellen. Wenn jemand mit S/MIME versschlüsselt senden möchte, wäre eine Auswahl mit “Signieren”, “Verschlüsseln” und “Packen und anschliessende Verschlüsselung/Signatur” für zukünftige Versionen hilfreich. Damit sollte jedem klar sein, was ich signiere und verschlüssele.

Nur so als Anregung…

Trotzdem, vielen Dank, somit ist zumindest die initiale Problematik erst einmal gelöst. Ich hoffe nur, dass vielen Anwendern der Unterschied im Verfahren bewusst ist.

Danke!

Genau.

Und es ist bekannt, dass das nicht optimal ist.

Danke für die Rückmeldung!