Verschlüsselte E-Mail ans BSI?
Das BSI bietet für die Kommunikation mit der Poststelle via E-Mail die Verschlüsselung via S/MIME an. Auf der Webseite des BSI ist erklärt, welche Zertifikate man in seinen E-Mail-Client einbinden muss - es handelt sich um das Zertifikat der Poststelle und das signierende Zwischenzertifikat:
Screenshot I: Zertifikat und Zwischenzertifikat
Über die Seite Zertifikat der BSI-Poststelle findet man eine Textdatei Zertifikat-BSI-Poststelle_Poststelle.txt zum Download, in der das Zertifikat im PEM-Format abgelegt ist. Die abgespeichertei Datei hat (Stand 2025-12-12) den SHA-1-Prüfwert
- 85:95:02:7f:1f:ac:03:f7:97:da:5a:db:b7:28:1f:a5:a5:5a:2b:47
und den Fingerprint
- 74:69:34:F0:A3:58:DC:2C:44:7A:B6:DD:86:2A:1A:DE:B3:D3:17:E9
in Übereinstimmung mit der Angabe auf der Webseite.
Copy to clipboard
$ sha1sum Zertifikat-BSI-Poststelle_Poststelle.txt
8595027f1fac03f797da5adbb7281fa5a55a2b47 Zertifikat-BSI-Poststelle_Poststelle.txt
$ openssl x509 -in Zertifikat-BSI-Poststelle_Poststelle.txt -fingerprint -noout
SHA1 Fingerprint=74:69:34:F0:A3:58:DC:2C:44:7A:B6:DD:86:2A:1A:DE:B3:D3:17:E9
Über die Seite Zertifikat der BSI-Poststelle (IVBB Zwischenzertifikat CA 20) findet man Zertifikat-BSI-Poststelle_CA-IVBB_20.zip zum Download, in der das Zwischenzertifikat im PEM-Format eingepackt ist. Die abgespeichertei ZIP-Datei hat (Stand 2025-12-12) den SHA-1-Prüfwert
- 1f:8a:8d:e4:4b:bf:02:fc:73:e9:3f:13:5c:be:28:c0:ac:69:14:13,
die enthaltene PEM-Date hat den SHA-1-Prüfwert
- 37:89:b6:de:94:47:b7:a9:ff:8d:9a:33:18:d9:93:46:20:e7:d5:6a
und den Fingerprint
- 20:9A:CE:24:15:11:3B:80:07:1D:5F:A3:A1:F7:17:60:4F:0E:5A:BB
in Übereinstimmung mit der Angabe auf der Webseite.
Copy to clipboard
$ unzip Zertifikat-BSI-Poststelle_CA-IVBB_20.zip
Archive: Zertifikat-BSI-Poststelle_CA-IVBB_20.zip
extracting: CA IVBB Deutsche Telekom AG 20_0x4F0E5ABB_public.pem
$ sha1sum Zertifikat-BSI-Poststelle_CA-IVBB_20.zip
1f8a8de44bbf02fc73e93f135cbe28c0ac691413 Zertifikat-BSI-Poststelle_CA-IVBB_20.zip
$ sha1sum CA\ IVBB\ Deutsche\ Telekom\ AG\ 20_0x4F0E5ABB_public.pem
3789b6de9447b7a9ff8d9a3318d9934620e7d56a CA IVBB Deutsche Telekom AG 20_0x4F0E5ABB_public.pem
$ openssl x509 -in CA\ IVBB\ Deutsche\ Telekom\ AG\ 20_0x4F0E5ABB_public.pem -fingerprint -noout
SHA1 Fingerprint=20:9A:CE:24:15:11:3B:80:07:1D:5F:A3:A1:F7:17:60:4F:0E:5A:BB
$ openssl x509 -in CA\ IVBB\ Deutsche\ Telekom\ AG\ 20_0x4F0E5ABB_public.pem -text -noout | grep DirName
DirName:/C=DE/O=PKI-1-Verwaltung/CN=PCA-1-Verwaltung-20
Der letzte Hinweis CN=PCA-1-Verwaltung-20 ist entscheidend. Sucht man ein wenig, findet man auch das Wurzelzertifikat, um die Chain of Trust zu komplettieren.
Screenshot II: Wurzelzertifikat
Über die Webseite findet man PCA-1-Verwaltung-20_zip.zip zum Download, in der das Wurzelzertifikat im CER-Format eingepackt ist. Die abgespeichertei ZIP-Datei hat (Stand 2025-12-12) den SHA-1-Prüfwert
- 31:66:f3:c9:58:75:fd:d3:8a:70:f6:9b:46:67:03:c0:45:db:28:5e,
die enthaltende CER-Datei hat den SHA-1-Prüfwert
- ec:6d:31:96:53:1d:28:4f:16:66:c3:b7:51:ce:6a:dd:8e:54:ee:b2,
die erzeugte PEM-Datei hat den SHA-1-Prüfwert
- f3:8a:95:80:d9:72:b7:0d:94:35:81:c8:bb:2c:17:15:b1:4a:8e:ab,
und die Fingerprints der letzten beiden Dateien liefert jeweils
- EC:6D:31:96:53:1D:28:4F:16:66:C3:B7:51:CE:6A:DD:8E:54:EE:B2
in Übereinstimmung mit der Angabe auf der Webseite.
Copy to clipboard
$ unzip PCA-1-Verwaltung-20_zip.zip
Archive: PCA-1-Verwaltung-20_zip.zip
inflating: [ROOT-CA]_PCA-1-Verwaltung-20.cer
$ openssl x509 -in \[ROOT-CA\]_PCA-1-Verwaltung-20.cer -outform PEM -out Root-PCA-1-Verwaltung-20.pem
$ sha1sum PCA-1-Verwaltung-20_zip.zip
3166f3c95875fdd38a70f69b466703c045db285e PCA-1-Verwaltung-20_zip.zip
$ sha1sum \[ROOT-CA\]_PCA-1-Verwaltung-20.cer
ec6d3196531d284f1666c3b751ce6add8e54eeb2 [ROOT-CA]_PCA-1-Verwaltung-20.cer
$ sha1sum Root-PCA-1-Verwaltung-20.pem
f38a9580d972b70d943581c8bb2c1715b14a8eab Root-PCA-1-Verwaltung-20.pem
$ openssl x509 -in \[ROOT-CA\]_PCA-1-Verwaltung-20.cer -fingerprint -noout
SHA1 Fingerprint=EC:6D:31:96:53:1D:28:4F:16:66:C3:B7:51:CE:6A:DD:8E:54:EE:B2
$ openssl x509 -in Root-PCA-1-Verwaltung-20.pem -fingerprint -noout
SHA1 Fingerprint=EC:6D:31:96:53:1D:28:4F:16:66:C3:B7:51:CE:6A:DD:8E:54:EE:B2
Damit sollte sich die Chain of Trust überprüfen lassen und nach einer Einbindung dieser drei Zertifikate in den E-Mail-Client sollte dem Versenden einer verschlüsselten E-Mail an die Poststelle des BSI nichts mehr entgegenstehen - oder?
Copy to clipboard
$ openssl verify -verbose -CAfile Root-PCA-1-Verwaltung-20.pem CA\ IVBB\ Deutsche\ Telekom\ AG\ 20_0x4F0E5ABB_public.pem
CA IVBB Deutsche Telekom AG 20_0x4F0E5ABB_public.pem: OK
Das sieht gut aus. Das Zwischenzertifikat wurde mit dem Wurzelzertifikat signiert. Jetzt fehlt nur noch die Prüfung, dass das Zertifikat der Poststelle mit dem Zwischenzertifikat signiert wurde.
Copy to clipboard
$ openssl verify -no-CAfile -no-CApath -untrusted CA\ IVBB\ Deutsche\ Telekom\ AG\ 20_0x4F0E5ABB_public.pem Zertifikat-BSI-Poststelle_Poststelle.txt
C = DE, O = Bund, OU = BSI, CN = GRP: Poststelle, serialNumber = 1
error 20 at 0 depth lookup: unable to get local issuer certificate
error Zertifikat-BSI-Poststelle_Poststelle.txt: verification failed
Hier sieht verification failed gar nicht gut aus. Was ist da los?
Copy to clipboard
$ openssl x509 -in Zertifikat-BSI-Poststelle_Poststelle.txt -text -noout | grep -A 1 -i identifier
X509v3 Authority Key Identifier:
keyid:DB:10:C5:6E:8B:E4:21:5C:D5:C3:C4:72:83:75:EC:BE:52:C7:77:83
$ openssl x509 -in Zertifikat-BSI-Poststelle_CA-IVBB_20.zip -text -noout | grep -A 1 -i identifier
X509v3 Subject Key Identifier:
E7:6D:01:31:7C:41:32:20:27:C9:B0:69:1A:15:87:7D:C1:BD:BE:42
X509v3 Authority Key Identifier:
keyid:F3:8F:1F:36:F8:04:DD:35:F9:DE:2A:84:0D:63:82:07:E9:A4:71:42
$ openssl x509 -in \[ROOT-CA\]_PCA-1-Verwaltung-20.cer -text -noout | grep -A 1 -i identifier
X509v3 Subject Key Identifier:
F3:8F:1F:36:F8:04:DD:35:F9:DE:2A:84:0D:63:82:07:E9:A4:71:42
Der Authority Key Identifier des Zwischenzertifikats wird im Zertifikat der Poststelle mit keyid:DB:10:C5:6E:8B:E4:21:5C:D5:C3:C4:72:83:75:EC:BE:52:C7:77:83 angegeben, jedoch ist der Subject Key Identifier des angegebenen Zwischenzertifikates abweichend E7:6D:01:31:7C:41:32:20:27:C9:B0:69:1A:15:87:7D:C1:BD:BE:42. Das passt nicht zusammen. Für die Signatur des Zwischenzertifikats mit dem Wurzelzertifikat stimmen die beiden Identifier überein, daher dort das Resultat OK.
In dieser Form dürften einige Menschen verwirrt sein, was ihr E-Mail-Client beim Zertifikat zu meckern hat, und schließlich anfangen, an ihrem Verstand zu zweifeln, weil sie nicht nachvollziehen können, was sie falsch machen. Es bleibt zu hoffen, dass niemand die Philosophie ignore and override by manual trust wählt, denn dann kann man sich den Zirkus mit den verketteten Signaturen gleich ganz sparen. Schließlich bleibt die Frage: erhält die Poststelle des BSI überhaupt verschlüsselte E-Mails? Wenn ja, wie? Wenn nein: wundert sich dort keiner, warum das so ist? Wie sieht es mit Qualitätssicherung und Qualitätsmanagement aus, wenn derart kritische Informationen publiziert werden? Fehlerhafte Informationen im Umfeld von IT-Security sind kein Pappenstiel. Im Consulting würde man an dieser Stelle vermutlich kaputte Prozesse diagnostizieren, die in sich ein eigenes Sicherheitsrisiko bergen.
Wie kommunizieren eigentlich andere Bundesbehörden mit dem BSI? Schicken die bei vertraulicher Kommunikation einen berittenen Boten?