Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>RSA-Schlüssel mit mehr als 2.048 Bit im Web-Browser generieren – wie?

RSA-Schlüssel mit mehr als 2.048 Bit im Web-Browser generieren – wie?

Marcel_75@work
Marcel_75@work29.05.2414:03
Hallo zusammen,

erst einmal zum Hintergund:

Habe mir gestern für meinen Mail-Account neue S/MIME-Zertifikate von GlobalSign kaufen müssen – und wichtig war dabei, dass der dazugehörige RSA-Key nicht nur 2.048 Bit groß wird.

Warum? Weile einige Bundesbehörden in Deutschland die signierte & verschlüsselte Kommunikation per S/MIME neuerdings nur noch mit RSA-Keys zulassen, die mind. 3.072 Bit groß sind!

Das heißt, man kann mit denen zwar problemlos S/MIME signiert kommunizieren, aber eben nicht S/MIME signiert & verschlüsselt.

Und da zu meinem bisherigen (eigentlich noch bis März 2025 gültigen) S/MIME-Zertifikat nur ein 2.048 Bit RSA-Schlüssel gehörte, musste ich mir neue Zertifikate besorgen.

(ein erneuern aka "renew" wäre zwar wohl auch möglich gewesen, aber das war mir den Aufwand nicht wert, denn es musste schnell gehen…)

Zumal man ein S/MIME-Zertifikat von GlobalSign (das einfache "PersonalSign Klasse 1") mit einer Laufzeit von 3 Jahren für 45,- € bekommt (also nur 1,25 € monatlich) – das ist aus meiner Sicht also verschmerzbar.

Normalerweise kann man den RSA-Key direkt im eigenen Web-Browser generieren lassen – der wird so standardmäßig aber nur 2.048 Bit groß (egal ob per Safari, Chrome oder Firefox soweit mir bekannt).

Deshalb habe ich das ganze per CSR (CertificateSigningRequest) mit Hilfe der Schlüsselbundverwaltung von macOS gemacht (funktioniert per Certificate Assistant Request a Certificate From a Certificate Authority).

Da kann man dann die Größe des zu generierenden RSA-Keys bestimmen (2.048, 4.096 oder 8.192 Bit).

Hat soweit alles geklappt, also alles gut.

Nun aber zu meiner eigentlichen Frage:

Weiß hier jemand, an welcher Stelle man dieses Verhalten für Safari, Chrome bzw. Firefox ändern kann?

So das der Web-Browser eben nicht nur diese (mittlerweile "zu kleinen") 2.048 Bit RSA-Keys generiert, sondern eben minimum 3.072 Bit große?


Ansonsten hätte ich theoretisch auch noch ein paar andere Fragen rund um das Thema, aber immer der Reihe nach – eine Antwort auf diese erste Frage würde mich aktuell am meisten interessieren.

Danke für Eure Zeit und Unterstützung.
0

Kommentare

picsnmore.de29.05.2415:45
Das liegt, soweit ich weiß, einzig an der Programmierung der Webseite und was dort für Optionen vorgesehen sind, vgl. z.B.

Ich hätte bei der Erzeugung des privaten Schlüssels auf einer Webseite ohnehin ein sehr schlechtes Gefühl, ob da nicht jemand den Schlüssel "abgreifen" könnte (und nein, ich habe keine Lust, mir erst den Quelltext der Seiten anzeigen zu lassen).

Ich erzeuge meine Keys IMMER offline (d.h. auf meinem Rechner) und gebe nur den CSR zu dem CAs im Internet... und verwaltet werden meine Keys, Zertifikate; CSRs und CRLs in XCA.
+3
Marcel_75@work
Marcel_75@work30.05.2407:44
Ok, das macht Sinn.

Ein Großteil der kommerziellen CAs bietet das ja an (also die Schlüssel gleich direkt im Browser erstellen zu lassen). Auch bei denen steht dann sicher der Hinweise (wie bei Deinem Beispiel-Link):

"Any private or public key value that you enter, or we generate is not stored on this site."

Denn so etwas kann man ja nicht wirklich prüfen – die Aussage ist also ähnlich vertrauenswürdig wie die der ganzen VPN-Anbieter, die behaupten, sie würden keinerlei persönliche Daten speichern… kann man auch nicht prüfen.

Wie man den CSR dann erstellt, also ob per Schlüsselbundverwaltung von macOS, XCA.app oder auch per OpenSSL sollte ja nebensächlich sein – hauptsache auf der eigenen Maschine, wie Du ja schon sagst.

EIne zweite Frage hätte ich nun auch noch: Wie genau verhindern die Bundesbehörden denn die signierte & verschlüsselte S/MIME Kommunikation mit Schlüsseln kleiner 3.072 Bit?

Ich habe das für meine Seite zwar nicht vor, würde aber trotzdem gerne verstehene, wo/wie genau das kontrolliert werden kann… eventuell direkt im eingesetzten Mail-Client?
0
Peter Eckel30.05.2408:36
Das ist generell ziemlich einfach. Wenn Dir jemand eine verschlüsselte Mail senden will, braucht er ja Deinen privaten Schlüssel, und da steht die Länge des private Key in der ASN.1-Struktur. Das kannst Du, wenn Du einen Schlüssel vorliegen hast, sehr einfach auslesen:
% openssl x509 -in xxx.cer -noout -text -inform des   
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            4b:3b:5f:8a:23:f9:37:4c:c3:38:dd:00:af:da:b7:d6:02:9c:da:4e
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = CH, O = SwissSign AG, CN = SwissSign Personal Silver CA 2014 - G22
        Validity
            Not Before: Jul  7 11:17:44 2017 GMT
            Not After : Jul  7 11:17:44 2020 GMT
        Subject: OU = Email Validated Only, emailAddress = xxx@example.com, CN = xxx@example.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    00:a9:3f:64:d1:eb:f9:8a:47:10:f2:2f:8d:a9:59:
                    2b:06:ca:99:87:c3:86:5d:a8:48:48:ab:4b:83:c4:
                    92:b6:f8:c2:55:8c:3d:85:f8:de:c5:3d:76:78:b2:
                    0b:a9:a9:26:4d:33:11:32:a4:13:12:a6:e4:f9:3e:
                    ce:ec:4f:73:96:1e:19:d8:3a:10:35:e7:ec:61:b5:
                    63:89:86:7a:52:57:32:a4:63:b7:39:3d:13:27:e5:
                    ed:2f:2e:49:c4:5c:7c:3f:70:6c:8a:b1:81:7c:fe:
                    0e:98:13:a7:45:0b:c7:a6:bb:b4:69:aa:23:5b:44:
                    12:05:51:8e:81:64:bf:65:d8:4d:e8:ab:0c:a2:f4:
                    d5:18:2d:57:b8:54:e8:5d:d8:61:69:8b:c6:25:07:
                    b8:70:78:9d:d0:c6:d5:4a:50:b5:38:dc:3f:19:d6:
                    71:bf:b4:1e:5f:e8:5f:99:23:f4:bb:96:2f:ae:bc:
                    db:98:3f:ec:91:95:88:1b:e1:14:53:eb:35:ed:f5:
                    28:f3:78:31:7f:f2:12:96:83:26:83:aa:79:e6:51:
                    84:0e:1e:d3:9b:8e:13:a2:0d:53:2c:4f:9c:46:f4:
                    0b:fb:1e:74:c9:a8:42:c7:a7:d5:66:21:38:db:ce:
                    83:6a:3e:e9:19:f8:db:2e:6b:6d:39:94:8b:58:14:
                    05:41
                Exponent: 65537 (0x10001)
[...]

Da die viele große Firmen und auch Behörden die Verschlüsselung nicht auf dem Endgerät, also dem Mailclient, sondern auf einem zwischengeschalteten Gateway-System (SMG/SEG) machen, ist das kein echtes Problem - da liegt dann auch die Schlüsselverwaltung, also auch die privaten Schlüssel der Kommunikationspartner, und die können das leicht überprüfen. Und ja, das ist eigentlich eine Mogelpackung, denn die Mails kommen dann unverschlüsselt auf dem Endgerät an, wenn das Gateway die Mail dann auch entschlüsselt.

Theoretisch kann das dann auch der Client prüfen, aber ich kann Dir aus der hohlen Hand nicht sagen, ob Outlook oder Apple Mail das irgendwie unterstützen. Bei Mail vermute ich, daß die Antwort "nein" ist, bei Outlook weiß ich es nicht, weil ich das nur gegen Geld und nicht in administrativer Funktion überhaupt anfasse.

NB: +1 für "Schlüssel niemals von dritter Hand generieren lassen". Versprechen können die Herrschaften viel, aber ein privater Schlüssel, den jemand anders mal in der Hand hatte, ist als kompromittiert zu betrachten. Das gilt auch für Webmailer, die S/MIME oder OpenGPG anbieten.
„Ceterum censeo librum facierum esse delendum.“
+1

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.