easyrsa: wie viel bit sinnvoll?

Alles rund um sicherheitsrelevante Fragen und Probleme.
Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von bluestar » 04.11.2019 19:14:07

TomL hat geschrieben: ↑ zum Beitrag ↑
03.11.2019 23:21:21
Nuja, der Diebstahl-Schutz von zwei an unterschiedlichen Standorten befindlichen Rechnern hat ja nicht zwingend was mit der Verschlüsselung von Übertragungen zwischen diesen beiden Rechnern zu tun ... oder anders gesagt, für die Klauerei isses egal, ob die Leitung dazwischen verschlüsselt ist oder nicht.
Ich möchte anmerken, das längere Schlüssel eben kein Garant für „höhere Sicherheit“ sind. Das gesamte Sicherheitskonzept sollte in sich stimmig sein.

Wenn man „nur weil‘s eben geht“ mit 8192 oder 16384 Bits an Schlüssellängen hantieren möchte, dann ist das entweder eine nette Spielerei oder ein sehr sehr aufwendiges Sicherheitskonzept, wo die Schlüssellängen dazu gehören.

Wie schützt ihr die privaten Schlüssel der CA? Durch ein Passwort? Welche Passwortlänge habt ihr bei derartigen Schlüssellängen im Einsatz? Nutzt ihr ein HSM, wenn ja welches?

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 04.11.2019 19:16:06

bluestar hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 19:14:07
Wie schützt ihr die privaten Schlüssel der CA?
Durch löschen, nachdem einmal alle Clients bedient sind und eingerichtet sind... :D ... ich bewahre die PKI-Struktur nicht auf.

sergej2018

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von sergej2018 » 04.11.2019 19:18:26

Kann in einem Forum jetzt natürlich nicht mein ganzes Konzept offenlegen ;-)
Ist aber natürlich richtig von dir, darauf hinzuweisen, dass auch der Rest stimmen muss!

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 04.11.2019 19:25:21

sergej2018 hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 19:18:26
Kann in einem Forum jetzt natürlich nicht mein ganzes Konzept offenlegen ;-)
Warum nicht? Security by obscurity? Ist doch genau so überflüssig, wie lokale 192'er IPs in Postings zu anonymisieren. Ich habe damit jedenfalls kein Problem, weil ich mit dem Offenlegen genau auf den Effekt hoffe, dass mich jemand auf Fehler hinweist, die mir vielleicht entgehen würden, wenn ich völlig sinnlos alles geheim halten würde. Ganz nebenbei bemerkt, gibts eh keine Geheimnisse dergestalt, dass Dein Konzept so grundsätzlich von der Normalität abweicht, dass man die Technik quasi im Sinne eines Patents schützen muss. Es gibt allenfalls blamable Fehler... aber da wäre ich jedenfalls total froh drüber, wenn jemand drüber lacht... zeigt es mir doch, wo ich nachbessern muss.

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von schorsch_76 » 04.11.2019 21:11:10

Es kommt auch darauf an, welcher Algorithmus benutzt wird. 256 Bit bei AES sind was anderes als 256 Bit bei RSA.

https://de.m.wikipedia.org/wiki/Schl%C3 ... l%C3%A4nge

Als verlässliche Quelle kann man das Buch von Bruce Schneier nennen: "Applied Cryptography" Kapitel 7 Keylength. Auch 7.5 zeigt auf, wie der OP das lösen kann.
Das ist wirklich ein Experte auf diesem Gebiet und er hat sein Wissen veröffentlicht.

Bei symmetrischen Schlüsseln würde ich heute auf 256 bit setzen. RSA würde ich mit 4096 bit nutzen.

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von schorsch_76 » 04.11.2019 21:17:53

https://www.bsi.bund.de/DE/Publikatione ... x_htm.html

Das ist vom BSI. Ganz oben das erste PDF. Das stößt in exakt die selbe Richtung.

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 05.11.2019 10:43:06

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 21:11:10
Bei symmetrischen Schlüsseln würde ich heute auf 256 bit setzen. RSA würde ich mit 4096 bit nutzen.
Ich tue mich noch so ein bisschen schwer damit, die Vorteile von RSA4096 oder gar RSA8192 zu erkennen. Ja, sicher, die Verschlüsselung wird 'härter', aber die eigentliche Frage ist dabei, welchen Unterschied macht es für die Mäuse, wenn das Schloss an der Kornkammer aus Alu ist oder aus gehärtetem Stahl?

So wie ich das verstanden habe, sichert RSA mit einem asymmetrischen Schlüssel lediglich die Findung eines symmetrischen Schlüssels ab. Welchen Einfluss hat dabei die Länge des asymmetrischen Schlüssels für RSA auf die Länge des neuen symmetrischen mit AES2546/SHA512? Die IP-Pakete selber sind ja hinterher AES verschlüsselt ... und selbst wenn die jemand mitgeschnitten hat, welche Relevanz hat an diesem Punkt des Mitschnitts die Frage, ob zuvor RSA2048 oder RSA8912 bei der Findung des Sitzungsschlüssels beteiligt war? Und darüber hinaus hat ja ein symmetrischer Sitzungssschlüssel auch nur eine sehr kurze Lebensdauer, entweder nur für die Sitzung oder via --reneg-sec n mit vorgegebener Zeitdauer.

Und weiterhin tue ich mich schwer zu verstehen, was die Aussage "RSA2048 ist nur bis 2030 sicher" bedeutet. Ja, natürlich, auch hier verstehe ich den faktischen Inhalt, kann ihn aber ebensowenig auf die Realität projizieren, wie oben. Bedeutet das, dass eine via RSA2048 verschlüsselte und mitgeschnittene Sitzung im RZ-Labor mit hohem Aufwand gebrochen werden kann? Äh, meine Sitzungen sind doch aber via AES verschlüsselt. Bedeutet das, dass man aus milliarden von IP-Paketen mal eben on-the-fly meine nur 1/10-Sekunden dauernde via RSA durchgeführte Schlüsselvereinbarung bricht und dann aus weiteren milliarden IP-Paketen meine eigenen mit einem temporären AES-Schlüssel versehenen IP-Pakete rausfischt und ebenfalls bricht?

Was ich nicht verstehe ist der Umstand, ob aus dem AES-Sitzungsschlüssel abzuleiten ist, ob die vorherige Sitzungs-Schlüsselfindung mit RSA2048 oder RSA8192 passiert ist. Wenn das nicht so wäre, sind auch meine AES-Pakete nicht zu hacken. Dann wäre es imho für einen Angreifer nur möglich, genau im Moment des Prozesses der Schlüsselfindung einzugreifen, um eben an den eigentlichen Sitzungsschlüssel zu kommen. Sobald dieser Prozess jedoch abgeschlossen ist, isses doch vorbei, dann gilt AES/SHA, und das ist sicher.

Mein Fazit ist, solche Attacken auf unsere privaten On-The-Fly-Verbindungen funktionieren möglicherweise nur dann, wenn das System bereits kompromittiert ist. Und deshalb glaube ich, es ist viel einfacher eine schlecht aufbewahrte PKI-Struktur zu kapern, als immense Rechenpower in fast immer belanglose Ergebnisse reinzustecken. Ich halte es sowieso für totalen Quatsch, den Aufwand fürs Hacking im Netz zu betreiben, Quellen-TKÜ ist viel doch effektiver und deutlich kostengünstiger. Und unsere Regierung holt sich doch jetzt mit Huawei den Dienstleister rein, der genau dafür die größte Erfahrung hat..... ein Schelm wer böses dabei denkt.

Ich glaube, das Problem ist bei mir das gleiche, wie bei allen anderen Anwendern... man trifft Entscheidungen, ohne den tatsächlichen Wert der Entscheidung auch nur ansatzweise erklären zu können... meistens nach der für mich eher nicht belastbaren Sichtweise "viel hilft viel"... das tut es aber meiner Meinung nach überhaupt nicht. Ich bleibe für meinen Kleinkram erst mal bei RSA2048.

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von schorsch_76 » 05.11.2019 12:26:21

Naja, du sagst ja, dass du es nicht 100% verstehst. Deshalb der Hinweis auf verschiedene Quellen, die es Wissen. BSI und Bruce Schneier. Wenn diese Personen sagen, dass das nur etwa so lange hält glaube ich das.

Wenn mein Arzt sagt: "Dein Blutwert xyz ist zu hoch." Dann glaube ich das auch. Ich muss nicht jede biochemische Reaktion verstehen um mein Leben anzupassen.

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 05.11.2019 12:32:34

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
05.11.2019 12:26:21
Wenn mein Arzt sagt: "Dein Blutwert xyz ist zu hoch." Dann glaube ich das auch. Ich muss nicht jede biochemische Reaktion verstehen um mein Leben anzupassen.
Dann hast Du offensichtlich die Intention meines Postings missverstanden. Wenn mir mein Arzt oder 100 andere Ärzte oder auch Bruce Schneier sagen, dass Rauchen den Blutdruck erhöht und für Krebs verantwortlich ist, und ich müsse deshalb unbedingt mit dem Rauchen aufhören, dann käme ich nie auf die Idee, dass auch nur im leisesten anzuweifeln. Ich stelle nur meine persönliche Betroffenheit vor dem mickrigen Umstand infrage, dass ich noch nie geraucht habe. :wink:

Ich sprach jedenfalls nicht von mit RSA2048 verschlüsselten Sitzungen oder Datei-Archiven... weil ich denke, dass die in absehbarer Zeit unsicher sind. Beides würde ich heute schon nicht mehr verwenden.

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 05.11.2019 18:43:19

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
05.11.2019 12:26:21
Deshalb der Hinweis auf verschiedene Quellen, die es Wissen. BSI und Bruce Schneier. Wenn diese Personen sagen, dass das nur etwa so lange hält glaube ich das.
Weil mich das wirklich interessiert und vor dem Hintergrund von sergej2018's Idee mit rsa8192, habe ich mir die Quellen noch mal angesehen. Bei allem was ich lese, passend auch zu den anderen Quellen, geht es immer um die langfristige Aufbewahrung von Daten, wenn sie mit RSA2048 verschlüsselt wurden.

Dazu sagt das BSI:
"Für einen Einsatzzeitraum über das Jahr 2022 hinaus wird empfohlen, RSA/DLIES-Schlüssel von
3000 Bits Länge zu verwenden, um ein gleichmäßiges Sicherheitsniveau in allen empfohlenen
asymmetrischen Verschlüsselungsverfahren zu erzielen."


Das heisst nix anderes, als das ich die heute von mir erstellten Dateien besser mit RSA-3072 Bit verschlüsseln sollte, wenn ich eine Entschlüsselungssicherheit über 2022 hinaus garantieren will und wenn ich dazu überhaupt RSA verwenden will. Habe ich die Idee, die Daten auch noch über 2030 zu sichern, wird vermutlich sogar eine Schlüssellänge von 4096 Bit sinnvoll sein. Alternativ könnte ich für solche Dateien aber auch einfach AES256 nehmen... dann muss ich mir darüber keine Gedanken mehr machen.

Und weiterhin:
"Bei Zugrundelegung der heute bekannten Faktorisierungsverfahren und unter der Annahme,
dass es nicht zu einer Nutzung von Quantencomputern für solche Angriffe kommt, ist nicht
damit zu rechnen, dass RSA-Moduln einer Länge von 2000 Bit in näherer Zukunft faktorisiert
werden können.
:::::
Die Verwendung von 3000-Bit-Schlüsseln wird daher für RSA sowie für kryptographische
Verfahren basierend auf dem Diffie-Hellman-Problem in endlichen Körpern (DSA,
DH-Schlüsseltausch) als grundsätzliche Sicherungsmaßnahme ab Anfang 2023 empfohlen
und ist für Systeme mit einer entsprechenden projektierten Lebensdauer als Voraussetzung
für die Konformität zu der vorliegenden Technischen Richtlinie bindend."


Bei OpenVPN-Verbindungen reden wir aber nicht über die langfristige Speicherung von Daten, sondern nur über eine extrem kurzfristige Ad-Hoc-Gültigkeit eines asymmetrischen Schlüssels, wobei die eigentlichen schützenswerten Daten ja anschließend sowieso via AES256 verschlüsselt werden. Daraus schließe ich, selbst wenn irgendeine Institution heute meinen VPN-Traffic mitschneiden würde, könnten sie wahrscheinlich irgendwann in den nächsten Jahren diese RSA2048-Verschlüsselung knacken. Aber sie müssten dann aus dieser sehr kurzen Anfangssequenz beim Verbindungsaufbau auch noch den eigentlichen symmetrischen Schlüssel für den anschließenden Transport der wichtigen Daten rekonstruieren... aber genau dieser wurde ja gar nicht übertragen, sondern ebenfalls dynamisch und nur einmalig geltend ermittelt.

Wie soll das alles funktionieren mit der angeblich fehlenden Sicherheit bei RSA2048 bei kurzzeitigen Anwähl-OpenVPN-Verbindungen? Ich weiss nicht, ob ich da jetzt falsche Rückschlüsse ziehe, aber in RSA8192 sehe ich jedenfalls überhaupt keinen Sinn. Wenn ich das nächste Mal meine CA neu erstelle, werde ich wohl 3072 Bit vorgeben.... aber höher...?... sicher nicht.

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von schorsch_76 » 05.11.2019 20:45:05

TomL hat geschrieben: ↑ zum Beitrag ↑
05.11.2019 18:43:19
Bei OpenVPN-Verbindungen reden wir aber nicht über die langfristige Speicherung von Daten, sondern nur über eine extrem kurzfristige Ad-Hoc-Gültigkeit eines asymmetrischen Schlüssels, wobei die eigentlichen schützenswerten Daten ja anschließend sowieso via AES256 verschlüsselt werden. Daraus schließe ich, selbst wenn irgendeine Institution heute meinen VPN-Traffic mitschneiden würde, könnten sie wahrscheinlich irgendwann in den nächsten Jahren diese RSA2048-Verschlüsselung knacken. Aber sie müssten dann aus dieser sehr kurzen Anfangssequenz beim Verbindungsaufbau auch noch den eigentlichen symmetrischen Schlüssel für den anschließenden Transport der wichtigen Daten rekonstruieren... aber genau dieser wurde ja gar nicht übertragen, sondern ebenfalls dynamisch und nur einmalig geltend ermittelt.

Wie soll das alles funktionieren mit der angeblich fehlenden Sicherheit bei RSA2048 bei kurzzeitigen Anwähl-OpenVPN-Verbindungen? Ich weiss nicht, ob ich da jetzt falsche Rückschlüsse ziehe, aber in RSA8192 sehe ich jedenfalls überhaupt keinen Sinn. Wenn ich das nächste Mal meine CA neu erstelle, werde ich wohl 3072 Bit vorgeben.... aber höher...?... sicher nicht.
Es hängt vom Verfahren ab das angewendet wird, wie und ob der Schlüssel zurück gerechnet werden kann. Wenn PFS nicht an ist, wird der Server Key verwendet. Per PSA wird der dann ausgetauscht. Wenn dieser Key dann bekannt ist (wie auch immer, Diebstahl, entschlüsselt, gebrochen durch Heartbleed oder was auch immer), kann der restliche Verkehr der bisher aufgezeichnet wurde und in Zukunft passiert, entschlüsselt werden. Das Problem ist: Die Konfiguration ist nicht immer leicht und hier liegt der Teufel im Detail. :!:

Bei SSL und Apache sind die Cipher sicher, welche mit DH_ DHE_ anfangen. Bei openvpn muss reneg-* genutzt werden bei Server und Client um PFS zu nutzen. Wenn das auf 0 ist, wird der Server Key verwendet und alles läuft, aber kein PFS ...

Da ich weis, das ca 3000 Bit bei RSA noch etwas reichen, geh ich auf 4096 Bit: Weil: Es macht bei mir keinen Unterschied ob ich hier beim Verbindungsaufbau mit RSA 4096 rechne oder mir RSA2048. Ich baue nur ein paar Verbindungen auf. Nicht wie ein großer VPN Anbieter. ;) Bis RSA8192 würde ich auch noch nicht gehen. Wir haben noch nicht 2050 :-D .

Ich fand beim CCC immer die Vorträge von Tanja Lange und DJB sehr informativ. :)

[1] https://de.wikipedia.org/wiki/Perfect_Forward_Secrecy
[2] https://de.wikipedia.org/wiki/Diffie-He ... laustausch
[3] https://www.heise.de/security/artikel/Z ... 23800.html
[4] https://bettercrypto.org/#_forward_secrecy
[5] https://community.openvpn.net/openvpn/w ... n24ManPage

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 05.11.2019 20:50:40

schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
05.11.2019 20:45:05
Es hängt vom Verfahren ab das angewendet wird, wie und ob der Schlüssel zurück gerechnet werden kann. Wenn PFS nicht an ist, wird der Server Key verwendet.
Ja, richtig, das betrifft die typischen Static-Key-Konfigurationen mit OpenVPN ... okay, aber ist das ist ja bekannt, dass es damit keine PFS gibt. Mit DH ist das jedoch gegeben, der aktuell verwendete Sitzungsschlüssel hat NUR für die Sitzung Gültigkeit und ist imho nicht mal mit bekannten Keyfiles und gehacktem RSA-Traffic rückwirkend rekonstruierbar.

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von schorsch_76 » 05.11.2019 20:56:43

TomL hat geschrieben: ↑ zum Beitrag ↑
05.11.2019 20:50:40
schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
05.11.2019 20:45:05
Es hängt vom Verfahren ab das angewendet wird, wie und ob der Schlüssel zurück gerechnet werden kann. Wenn PFS nicht an ist, wird der Server Key verwendet.
Ja, richtig, das betrifft die typischen Static-Key-Konfigurationen mit OpenVPN ... okay, aber ist das ist ja bekannt, dass es damit keine PFS gibt. Mit DH ist das jedoch gegeben, der aktuell verwendete Sitzungsschlüssel hat NUR für die Sitzung Gültigkeit und ist imho nicht mal mit bekannten Keyfiles und gehacktem RSA-Traffic rückwirkend rekonstruierbar.
Genau! So ist auch mein Verständnis :!:

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von wanne » 06.11.2019 05:21:44

Mit DH ist das jedoch gegeben, der aktuell verwendete Sitzungsschlüssel hat NUR für die Sitzung Gültigkeit und ist imho nicht mal mit bekannten Keyfiles und gehacktem RSA-Traffic rückwirkend rekonstruierbar.
Das problem ist, dass sich alle Angriffe auf RSA (Die sich nicht fixen lassen. Die ganzem Bleichenbacher sind ja konkrete Implementierungsfehler. Wenn auch notorisch bei RSA.) auch auf DH übertragen lassen. (Ich glaube wir haben seit neuestem sogar einen Beweis dafür, dass das wirklich immer geht. Auf jeden Fall war das in der Vergangenheit so.)
Sprich wenn du PFS benutzt verlagerst du das Problem nur auf die DHE-Schlüsselläge.
Während für so ein Setup die RSA-Schlüssellängen entsprechend irrelevanter sind, weil sie live von einem MITM geknackt werden müssten, sind sie das für DHE nicht und entsprechend wichtig sind dann dort längere Schlüssellängen. In sofern finde ich PFS ein bisschen overhyped. Klar das hilft gegen den Diebstahl von Schlüsseln. Jemand der wegspeichert und nacher entschlüsseln will, kann das aber weiter tun. – Er muss dann halt nur DH knacken. (und die DH-Parameter lassen sich leider oft nicht so einfach konfigurieren. Bei OpenVPN ist das aber relativ obvius.)


Zum Thema Schlüssellänge. Es ist natürlich weitaus wahrscheinlicher dass einen mal wieder irgend ein Implementierungsehler einholt, als, dass man konkret wegen der Schlüssellänge geknackt wird. Aber mein erster RSA-Key hatte 512Bit. Das sollte man wirklich nicht mehr verwenden. (Bitte beachten: Das knacken von RSA keys ist exponentiell mit der Länge! 1024Bit ist ne gaaanz andere Nummer als 512Bit. Die Leute aus Logjam haben das z.B. gemacht um kaputte TLS-Implementierungen angreifen zu können. Das ist kein theoretisches szenario. Und ist der Key ein mal geknackt: Kannst du die zwischenergebnisse für jeden Verbindungsaufau wiederverwerten, und kannst dann auch neue Nachrichten in Sekunden entschlüsseln.) Der Aufwand das zu beheben ist dagegen weitestgehend eine größere Zahl in ein Configfile zu schreiben. Das mit den zu kurzen Schlüsseln passiert mir kein zweites mal...
Entsprechend laufen meine DH-Parameter auf 6000Bit. Nicht dass es wahrscheinlich ist, dass das mal irgend wann hilft. Aber bis auf die Zeit zum generieren, kostet mich das einfach nichts und z.B. Logjam ist damit einfach an mir vorüber gegangen. Und man kann die btw. recyclen. Kann die auch einfach auf einem Leistungsstarken Rechner für alle generieren. (Du kannst glaube ich auch einfach die nehmen: https://tools.ietf.org/html/rfc3526. Gibt's da irgend welche Einwände?)


Das mit den Schlüssellängen bei RSA und DH ist btw. eine Besonderheit:
Bei normaler Verschlüssung, die per brute Force (AES/(3)DES/CAMELLIA/CAST5...) unterschied zwischen deinem modernen i5 und der vollen Microsoft Acure Cloud. (Die wohl im Moment gerade die Amazon-Cloud überholt hat,) (Also die CPU Leistung für alle Nutzer zusammen, wenn du das alles mietest.) geben dir in gleicher Zeit nicht mal 20Bit. Alle CPUs der Welt ca. 40Bit. (Hab jetzt einfach mal deren Stromverbrauch der Rechenzentren genommen und angenommen, dass sie einigermaßen sparsame Prozessoren haben. SWR/Microsoaft hat dafür zahlen.)
Auf deinem i5 wirst du in einem Jahr so 45Bit knacken können. Bist du mit der vollen Azure Cloud in einem Jahr bei 65Bit. (Und dann hast du ein ganzen Jahr gebraucht.)
Der größte Brute-Force den man mit CPUs gemacht hat, war wohl Facebook mit seinem Onion-Service, der wohl so 50Bit gebrute-Forced hat. (Die wollten einen Schlüssel, sodass der Key mit facebook+irgend ein Wort in base32 anfängt.)
Kurz: Mit mehr CPUs kommst du da nicht weit. Sinnvoller weise kaufst du dir irgend welche Spezialhardware.
Je nach Budget werden das dann zuerst Grafikkarten dann FPGAs und dann ASICs, die zwar mehr kosten aber trotzdem um viele Größenordnungen bessere Preis-Leistungsverhältnise zum Knacken haben.
Damit kommst du dann mit einem Normalen Budget von einigen 100000€ in den Bereich wo die ganze Azure Cloud schaffen würde. Entsprechend willst du mehr wie die 64Bit haben.
Google konnte mit Grafikkarten SHA-1 für den zum Kollisionen erzeugen 2^65 (Also entsprechend 65Bit.) nötig sind, knacken.
Das ist das größte Rechenprojekt, das mir bekannt ist.

Aber bei RSA verbessert sich kontinuierlich die Mathematik: Statt schlicht schlüssel durchzuprobieren, finden sich seit 1643 (Seit Fermats Faktorisierungsmethode) alle paar Jahre kontinuierlich bessere Verfahren zum knacken.
Da die Nachfolger meist nur minimal besser oder gar schlechter als die Vorgänger waren hat das bis jetzt schlicht nur zu immer längeren Schlüsseln geführt. Trotzdem ist doppelt beunruhigend:
a) Man das weiter interpolieren, wie das BSI das macht und annehmen, dass es da weiter inkrementelle Verbesserungen gibt. Das führt zu den langen Schlüsselempfehlungen auf lange Sicht.
b) Man kann annehmen dass wenn es dauernd neue Entdeckungen auf dem Gebiet gibt auch irgend wann mal der große Durchbruch kommt, der sich dann auch nicht mehr mit noch längeren Schlüsseln fixen lässt. Daraus folgt die Empfehlung hin zu elliptischen Kurven

Man kann aber auch annehmen, dass auf einem Feld auf dem seit 2000 Jahren aktiv geforscht wird und es seit 350 Jahren nur inkrementelle Verbesserungen gibt nicht mehr so viel passiert und deswegen RSA den ECC-Algorithen vorziehen..

Zuletzt ist klar, dass Für Quantencomputer das Brechen von RSA oder ECC-Algorithmen kein Problem darstellt, wenn diese ausreichend groß sind. 2001 wurde ein Quantencomputer gebaut, der erfolgreich 4-Bit RSA knacken konnte. (Und damit mit ähnlich langen ECCs klar gekommen wäre.) 2012 war man dann bei 5Bits. Bei derertiger rate dauert es noch lange bis wir bei 2000Bit sind. Trotzdem weiß man dass z.B. die NSA ca. seit 2010 annimmt, dass die Fortschritte bei Quantencomputern bald Sprünge machen.
Google hat jetzt einen Quantencomputer mit 53Bit. Der kann zwar nicht faktrisieren. Aber wie ich das verstehe, ist es durchaus denkbar, dass man den dahingehend umbauen könnte.
Auch da erkauft man sich vermutlich ein paar Jahre mit längeren schlüsseln.

Aber im Allgemeinen stimmt es natürlich schon: Wenn du wirklich Langzeitsicherheit haben willst, musst du auf Verfahren wie AES oder so setzen wo weder Quantencomputer noch Matematische Durchbrüche eine wahrscheinliche Gefahr darstellen.
Leider ist das halt ein bisschen nervig, wenn man immer vorher auf sicherem Weg einen Key austauschen muss.
rot: Moderator wanne spricht, default: User wanne spricht.

sergej2018

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von sergej2018 » 06.11.2019 09:24:41

Moin zusammen,

find das prima, welche Diskussion hier zustande kommt :)

@wanne: Warum bin ich bei symmetrischem AES vor Quantencomputern sicher?
Auch da kann man doch "einfach" den Key bruteforcen?

Ansonsten fand ich dein Argument gut zu sagen "hey, why not? Das Nutzen längerer RSA-Keys bedeutet für mich ja nur den einmaligen Aufwand beim Erstellen". Denn das war ja auch schon mein Eingangs-Argument: Im Grunde ist es kein Stress, einfach größere Keys/Zertifikate zu nutzen.

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von wanne » 06.11.2019 11:35:09

sergej2018 hat geschrieben: ↑ zum Beitrag ↑
06.11.2019 09:24:41
@wanne: Warum bin ich bei symmetrischem AES vor Quantencomputern sicher?
Auch da kann man doch "einfach" den Key bruteforcen?
Quantencomputer arbeiten im Moment eher so im Bereich Operationen pro Minute. Verglichen zu deinem i3, der mehrere Milliarden Operationen pro Sekunde arbeitet, ist ein Quantencomputer ein extrem schlechtes Tool zum bruteforcen. Es ist abzusehen, dass die Dinger schneller werden aber dass die irgend wo in den Bereich von Transistobasiertem zeug kommt ist eher unwahrscheinlich.

Der Trick ist eher, dass du Operationen machen kannst, die ein gewöhnlicher Computer nicht kann. (Siehe auch Shor-Algorithmus.) Hier muss man aufpassen: Nicht jeder Quantencomputer kann jede dieser Operationen.
Hier der Vergleich:
Bräuchte ein gewöhnlicher Computer zum bruteforcen von RSA 700 ca. 2^700 operationen (Die Anzahl der Computer die man bräuchte, das in der Zeit die das Universum existiert zu knacken hat immer noch deutlich 150 stellen.) Mit nochmal Milliarden fach langsameren Rechner erreichst du da relativ wenig.
Nimmst du dagegen ein einigermaßen modernen Algorithmus, brauchst du nur noch ~2^45 Operationen. Und kannst man das mit 10000 Rechnern in einem Jahr machen.
Könntest du Shor-Algorithmus nutzen bist du bei 2^30 Selbst wenn dein Quanten-Rechner nur mit einem MHz (nicht GHz) läuft bist du in einer Sekunde fertig.

Anmerkung: Gerade nochmal Nachgeguckt Googles Quantencomputer könnte auch maximal 4Bit-RSA knacken. Ist also in der Hinsicht nicht nützlicher als seine Vorgänger von vor 20 Jahren.
rot: Moderator wanne spricht, default: User wanne spricht.

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 06.11.2019 12:03:39

sergej2018 hat geschrieben: ↑ zum Beitrag ↑
06.11.2019 09:24:41
Warum bin ich bei symmetrischem AES vor Quantencomputern sicher?
Weil AES ein Blockchiffre ist, der auf Substitution, Permutation und linearer Transformation von Datenblöcken basiert. RSA hingegen basiert -so wie ich das verstanden habe- auf Faktorisierung, also Zerlegung in Primzahlen.... was dann aufgrund der limitierten Anzahl soviel bedeutet, dass RSA mit 2048 Bit effektiv nur eine Tiefe von ~112 Bit hat, 3072 = 128 Bit. AES hat jedoch wirkliche 256 Bit.
Auch da kann man doch "einfach" den Key bruteforcen?
Ja, wahrscheinlich wird man auch AES brutforcen können... aber rechne einfach mal 2^256 ¹ aus... dann kriegste ne Vorstellung, wie lange ein C64 damit beschäftigt ist :mrgreen: Ich weiss auch nicht, ob das in solchen Größenordnungen derzeit überhaupt wirtschaftlich oder zeitlich machbar ist. Und noch mal der Hinweis... diesen ganzen Aufwand zum nachträglichen Brechen der Verschlüsselung kann man sich sparen, wenn es gelingt einen Trojaner auf dem System zu installieren.... dann kriegt der Angreifer sowieso alles geschenkt.... und das ist definitiv wirtschaftlicher. Wenn Du Dein Netzwerk, die dort laufende Software, deren Verbindungen ins Internet und die subjektiven Berechtigungen zur Übernahme von Privilegien nicht sehr restriktiv beobachtest, halte ich die Wahl RSA2048 oder RSA4096 sowieso für Augenwischerei. Wenns trotzdem gut geht, liegts dann nicht an den Schutzmaßnahmen, sondern daran, dass sich keiner für Dich interessiert... :lol:
Ansonsten fand ich dein Argument gut zu sagen "hey, why not? Das Nutzen längerer RSA-Keys bedeutet für mich ja nur den einmaligen Aufwand beim Erstellen". Denn das war ja auch schon mein Eingangs-Argument: Im Grunde ist es kein Stress, einfach größere Keys/Zertifikate zu nutzen.
Das habe ich anders verstanden. Er spricht nicht von RSA, sondern vom DH-Parameter mit 6000 Bit, weil es erst bei diesem Schlüsselaustausch zu den wirklich kritischen Aspekten kommt. Fakt ist, die Kommunikation zum eigentlichen Schlüsselaustausch muss sicher sein. Ich habe das gerade mal getestet und DH mit 6144 Bit erzeugt.... *wow*... hat ne Stunde gedauert... Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz. Und wenn ich das richtig verstanden habe, hält Wanne RSA3072 für durchaus angemessen.

Wie gesagt, wir reden hier NICHT von Langzeit-Aufbewahrung, wobei Wanne auch AES für die bessere Wahl hält. Es geht um temporäre Anwählverbindungen mit OpenVPN, wo der eigentliche Daten-Transport sowieso AES256 verschlüsselt ist und lediglich die Initialisierungsphase der Verbindung kritisch ist. Ich habe Wannes Posting jetzt entnommen, das derzeit RSA-3072 und DH-6144 für die Initialisierung eine gute Einstellung ist, und für den Transport dann AES256 und SHA512 verwendet werden sollte. Und alles vor dem Hintergrund, damit der AES-Sitzungsschlüssel hinterher nicht mehr rekonstruiert werden kann.

Vielleicht korrigiert Wanne das noch mal, wenn ich das falsch verstanden habe.


¹
2^256 = 15.792.089.237.316.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von wanne » 06.11.2019 18:28:49

TomL hat geschrieben: ↑ zum Beitrag ↑
06.11.2019 12:03:39
AES hat jedoch wirkliche 256 Bit.
Es geht halt darum, ob Brute Force die schnellste bekannte Methode zum Knacken ist.
Für AES128 stimmt das weitestgehend wirklich. Aber gegen AES265 gibt es minimal bessere Angriffe als schlicht durchprobieren. Allerdings brauchen die Unmengen an Daten.

sergej2018 hat geschrieben: ↑ zum Beitrag ↑
06.11.2019 09:24:41
was dann aufgrund der limitierten Anzahl soviel bedeutet, dass RSA mit 2048 Bit effektiv nur eine Tiefe von ~112 Bit hat, 3072 = 128 Bit. AES hat jedoch wirkliche 256 Bit.
Es ist halt immer die Frage was der beste bekannte angriff ist:
Für RSA 700:
Mit der Kettenbruchmethode (1931 gefunden) schaffst du das was in der Zeit zu knacken, in der du 80Bit per brute force brichtst
Mit dem Quadratischen Sieb (1981 gefunden) schmilzt das auf ca. 64Bit zusammen.
Mit dem bestimmten Zahlkörpersieben schaffst du es in der Zeit in der man 45Bit per brute force knackt.
Mit Shor's-Algorithmus (für den allerdings Quantencomputer mit ausreichend QBits benötigt.) nötig wären würde das auf 30Bit schrumpfen.
Kurz du kannst eben nicht einfach irgend welche Equivalenzen definieren. Das hat nicht irgend welche ineffektiven bits (bis auf das letzte, das immer 1 ist.) Du vergleichst halt nur den jeweils neusten bekannten Angriff mit Brute Force. Jedes mal wenn der sich ändert, ändern sich die Equivalenzen.
Das selbe gilt für Jahreszahlen. Die setzen halt auch auf besser werdende Hardware, die noch gar nicht erfunden ist.
Und das BSI rechnet jetzt einfach schon mal ein, dass das in den nächsten 50 Jahren weiter zusammen schrumpft.
Alle Überlegungen abseits der 2048Bit-RSA fußen darauf, dass sich RSA in Zukunft im Vergleich zu Brute-Force noch weiter einbricht.
Man kann das als Augenwischerei ansehen man kann aber auch sagen, dass das entsprechend der Vergangenheit gar nicht ganz unwahrscheinlich ist.
Vor allem kann man in Betragt ziehen, dass die NSA der größte Arbeitgeber für Mathematiker ist, und die oder ähnliche Vereine vielleicht schon was kennen, was wir noch nicht kennen.
Prognosen sind schwierig. Vor allem wenn sie die Zukunft betreffen...
Es ist nicht ganz dumm, da ein bisschen Marge zu haben. Das selbe gilt für AES-128 vs. AES-256.
Der macht nicht nur längere Schlüssel sondern auch mehr runden.
Er spricht nicht von RSA, sondern vom DH-Parameter mit 6000 Bit, weil es erst bei diesem Schlüsselaustausch zu den wirklich kritischen Aspekten kommt.
Wie gesagt kommt immer drauf an, ob du DH oder direkt RSA als KEX-Algorithmus nutzt.

Zu deiner Frage für AES ist das recht schön: EIn aktueller Intel-Prozessor schafft glaube ich dank AES-NI ca. 30-100M-AES versuche pro Sekunde. => 26Bit pro Sekunde. Jahr hat 2^25s => 51Bit pro Jahr. Universum ist 2^34 Jahre alt. Währen wir bei 85Bit, wenn er beim Urknall angefangen hat zu rechnen...
Ich glaube bei den 256Bit sind wir da noch ne weile nicht...

Wie gesagt: Brute Force ist blöd und mit CPUs noch viel blöder...
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von schorsch_76 » 06.11.2019 22:02:51

Tja, damit ist man wieder dabei: Wieviel Bit nutzt man? Man kann nur aus der Vergangenheit interpolieren was bekannt ist und dann Abschätzungen für die Zukunft machen. Also: Lieber etwas mehr Marge und schauen was Experten sagen: BSI, Bruce Schneier und andere...

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 06.11.2019 23:38:45

wanne hat geschrieben: ↑ zum Beitrag ↑
06.11.2019 18:28:49
Man kann das als Augenwischerei ansehen man kann aber auch sagen, dass das entsprechend der Vergangenheit gar nicht ganz unwahrscheinlich ist.
Der Kontext mit der Augenwischerei war vor dem Zusammenhang gedacht, das es eigentlich Blödsinn ist, die Bit-Schraube höher und höher zu drehen, wenn durch fahrlässigen Umgang mit dem System evtl. eine Gefahr besteht, dass der Rechner bereits kompromittiert ist. Unter solchen Bedingen ist die Sicherheit eben Augenwischerei. Ansonsten stimme ich dir zu, eine solche Equivalenz gibts wohl wirklich nicht. Ich habe mich der Einfachheit halber auch eigentlich nur auf die mathematische Anzahl beim schlichten Durchprobieren aller möglichen Schlüssel bezogen, und die ist bei 256 nun mal exponentiell höher als bei 112 Bit. Aber das ist eben auch nur sehr vereinfacht betrachtet, weil ich brute force bisher als durchprobieren aller Möglichkeiten verstanden habe.... aber bei Quantencomputern denke ich eher an 'Brechen durch Berechnen, nicht durch probieren'. Keine Ahnung ob das stimmt... so fit bin ich da nicht.
schorsch_76 hat geschrieben: ↑ zum Beitrag ↑
06.11.2019 22:02:51
Tja, damit ist man wieder dabei: Wieviel Bit nutzt man? Man kann nur aus der Vergangenheit interpolieren was bekannt ist und dann Abschätzungen für die Zukunft machen. Also: Lieber etwas mehr Marge und schauen was Experten sagen: BSI, Bruce Schneier und andere...
Ich glaube, dass diese Aussage zu unpräzise ist, um daraus etwas abzuleiten. Sie unterschlägt ganz einfach die Unterscheidung zwischen extrem kurzlebigen Daten und langfristiger Aufbewahrung und unterstellt für kurzlebige Daten die gleichen Vorgaben wie für langlebige. Das führt am Ende dann eher dazu, dass Leute in ihrem Vorurteil bestärkt werden, einfach zu unterstellen, je mehr Bits umso besser. Fakt ist, mit einem sicheren Setup einer Anwähl-OpenVPN-Verbindung sind die Datenpakete auf dem Daten-Channel mit einem ephemeren Schlüssel verschlüsselt, der ist nicht reproduzierbar, nicht mal bei Vorliegen der gleichen Keyfiles. Die Anzahl der RSA-Bits für den asymmetrischen Schlüssel im Control-Channel hat nicht mal Einfluss auf die Stärke oder Länge des symmetrischen Schlüssels im Daten-Channel, sondern nur auf die Verhandlung für den Schlüssel...da gibts allenfalls eine schwächere Entropie. Ist der symmetrische Schlüssel einmal verhandelt, dient der asymmetrische Schlüssel nur noch zum Verschlüsseln der 'zuverlässigen' Steuerung auf dem Control-Channel, die eigentlichen Daten sind auf dem Daten-Channel völlig unberücksichtigt vom Control-Channel separat verschlüsselt.

Bei OpenVPN-Verbindungen sind beide Schlüssel und auch die Daten extrem kurzlebig... alles ist zeitlich allein auf die Sitzung begrenzt. Und selbst wenn man in 10 Jahren den asymmetrischen Schlüssel einer gespeicherten Sitzung knacken könnte, ist der symmetrische Schlüssel trotzdem nicht reproduzierbar... womit die eigentlichen (lange vergangenen) UDP/IP-Daten-Pakete m.M.n. immer noch sicher sind.

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 09.11.2019 12:41:13

sergej2018 hat geschrieben: ↑ zum Beitrag ↑
03.11.2019 15:05:18
Habe vorhin mal ausprobiert und festgestellt, dass 8192 bit mit openVPN mittlerweile gut funktionieren
Weil mich die Frage einerseits selber sehr interessiert und andererseits auch vor dem Hintergrund, dass ich mein OpenVPN-Setup auf meiner Web-Seite veröffentlicht habe (man sollte dabei ja tunlichst versuchen zu vermeiden, totalen Mist zu erzählen) habe ich mich noch weiter mit dem Thema befasst... und bin für mich und meine Bedürfnisse zu folgenden Schlüssen gekommen.

Vorab bemerkt konnte ich allerdings feststellen, dass es ab einem gewissen Level wirklich schwieriger wird, Antworten zu bekommen oder zu finden. Egal, ich glaube, ich konnte trotzdem genügend Informationen sammeln, um jetzt belastbare Entscheidungen treffen zu können. Für mich ist hier an dieser Stelle dieses Postings deshalb nur eins wichtig: Widerspruch! Und zwar gerne hier von den Fachleuten. Es ist ja schließlich nicht wirklich zielführend, sich da selber irgendwas zusammenzureimen, besser ist es, wenn andere Leute bei solche Aussagen auf Schwächen hinweisen (können). :roll:
sergej2018 hat geschrieben: ↑ zum Beitrag ↑
03.11.2019 15:05:18
Wie viel ist da eigentlich möglich und sinnvoll? Da der Verbindungsaufbau vmtl. nicht länger dauert, würde ich sonst auch auf 16384 bit gehen, falls das möglich ist...
Ja, der Verbindungsaufbau dauert defintiv länger, und ums kurz zu sagen, ich halte bereits 8192 Bit für völlig daneben.

Der wichtigste Aspekt bei der Entscheidung ist: Bis wie weit in die Zukunft sollen die von mir verschlüsselten Daten sicher sein? Die zweite relevante Frage ist: Speichere ich selber langfristig schutzwürdige und deshalb verschlüsselte Daten oder erzeuge ich nur dialogartige Kommunikationsdaten mit einer für mich nur kurzlebigen Bedeutung, wo ich aber verhindern will, dass jemand diese Daten unerlaubt speichert und sie irgendwann in der Zunkunft unautorisiert entschlüsselt?

Bezogen auf die erste Frage ist die Antwort eigentlich einfach. Weil man davon ausgehen kann, das RSA-2048 in naher Zukunft gebrochen werden kann, ist das für langfristig zu speichernde Daten vermutlich eine schlechte Wahl. Besser wäre es in diesem Fall RSA-3072 oder sogar RSA-4096 zu verwenden. Die Steigerung von 2048 auf 3072 ist aber keine einfache Steigerung um 50% Der Sicherheit, auf 4096 ist auch keine Steigerung um 100%, die Steigerung ist immer exponentiell. Dazu ein Vergleich:

Code: Alles auswählen

RSA        <-->   Symmetrischer Schlüssel
1024 Bit   <-->   80 Bit
2048 Bit   <-->   112 Bit
3072 Bit   <-->   128 Bit
15360 Bit  <-->   256 Bit
Die Steigerung von 112 auf 128 Bit verändert die tatsächliche Tiefe wie folgt:

Code: Alles auswählen

= 2 ^112	      5.192.296.858.534.830.000.000.000.000.000.000
= 2 ^128	340.282.366.920.938.000.000.000.000.000.000.000.000
Beides kann jetzt und momentan nicht gebrochen werden. Aber wenn trotzdem eine reelle Chance in der Zukunft besteht, RSA-2048 zu brechen, warum sollte ich dann heute überhaupt noch RSA nehmen. Warum sollte ich mir darüber Gedanken machen, wenn ich ein Longterm-Storage doch gleich mit AES256 ohne diese Risiken des möglichen Brechens schützen kann? Genau aus diesem Grund speichere ich solche Daten-Archive bereits heute mit GPG und AES256 verschlüsselt.

Völlig anders sieht es aber m.M.n. bei OpenVPN-Verbindungen aus, die in meiner Intention ja kein Longterm-Storage beinhalten, das sind immer alles total kurzlebige Ad-Hoc-Daten in einer Quasi-Dialog-Kommunikation. Hier kann es schlimmstenfalls passieren, dass irgendeine fremde Instanz diesen Datenverkehr mitschneidet und auf einen Zeitpunkt in der Zukunft wartet, um diesen (für mich belanglosen) Traffic aus dem Jahr 2019 rückwirkend entschlüsseln zu können. Denn auch hier gilt die Feststellung, RSA-2048 kann jetzt im Jahr 2019 nicht gebrochen werden.

Aber an diesem Punkt besteht ein weiterer entscheidender Umstand beim Vergleich zum o.g. Longterm-Storage. Bei OpenVPN sind die eigentlich wichtigen Daten ja heute schon gar nicht mehr mit RSA-2048 verschlüsselt.... die sind ja (bei richtiger Konfiguration des Programms) heute bereits mit AES256 verschlüsselt, und damit sind sie jetzt schon genau so sicher, wie beim oben erwähnten Procedere mit GNUPG plus AES256.

Und wieso macht es dann überhaupt Sinn, über eine verbesserte Verschlüsselung mi RSA-3072 (oder RSA-4096) anstatt mit RSA-2048 nachzudenken? Dazu muss man sich der eigentlichen Aufgabe dieser Kommunikations-Verschlüsselung erst mal bewusst sein, denn es ist nämlich NICHT die Aufgabe von RSA, die eigentlichen und schützenswerten Daten in der Übertragung zu verschlüsseln, damit hat RSA überhaupt nichts zu tun.

Um das zu verstehen, muss man sich mit der Funktionsweise des OpenVPN-Protokolls auseinandersetzen. Üblicherweise verwendet OpenVPN aus Performance-Gründen nicht TCP/IP, sondern UDP/IP. Der Unterschied zwischen diesen beiden Protokollen ist, dass UPD keine Zuverlässigkeit beinhaltet, keine Fehlerprüfung, keine Bestätigung über Empfang oder Neuanforderung eines Datenpaketes... UDP ist schlichtweg stateless. Um diese Mängel in einer bidirektionalen Kommunikation (!) mit dem Anspruch auf Zuverlässigkeit zu beheben, verwendet OpenVPN eine Technik analog DTLS (bei OpenVPN ist diese Technik allerdings um einige Jahre älter). Diese Technik basiert auf einen Multiplexing-Trick, in dem nämlich auf dem verwendeten Port (z.B. 1194) zwei Kanäle betrieben werden. Der Control-Channel emuliert das, wofür TLS bei TCP/IP zuständig ist, also authentifizierung, auf dem weiterhin z.B. Server-Options 'gepusht' werden können, worüber Peer-Infos ausgestauscht werden. Der Daten-Channel transportiert letztlich unsere schützenswerte persönliche 'Daten-Nutzlast'.

Die Aufgabe des Control-Channels ist es allein, die beiden Teilnehmer zu authentifizieren, die Integrität der Übertragung sichzustellen, die Zuverlässigkeit hinsichtlich Fehlerfreiheit bei der Übertragung durchs WWW zu garantieren. Also wirklich wichtige schützenswerte persönliche Daten werden hier gar nicht transportiert. Allein das gibt also schon einen deutlichen Hinweis auf die Sinnhaftigkeit der Überlegung von RSA-2048 auf RSA-8192 zu wechseln.

Um das nochmal zu wiederholen, die AES-Verschlüsselung auf dem Daten-Channel ist völlig unabhängig von der TLS-RSA-Verschlüsselung auf dem Control-Channel. Ein derzeit theoretischer Schwachpunkt besteht also allenfalls an dem Punkt, wenn sich die beiden Peers auf dem Control-Channel auf einen gemeinsamen symmetrischen Schlüssel für den Daten-Channel einigen wollen. Dabei besteht aber der Umstand, dass der 'gleich' verwendete symmetrische Schlüssel gar nicht durch das Netz übertragen wird. Die beiden Peers ermitteln den symmetrischen Schlüssel gemäß des DH-Protokolls jeder für sich selber. Also, zum einen muss also zuallerst die RSA-Verschlüsselung gebrochen werden, um zumindest die öffentlichen Schlüssel für den symmetischen Schlüssel abzugreifen, aber für die weitere Beurteilung fehlt dann immer noch der auf jeder Seite verwendete geheime Schlüsselanteil. Möglicherweise ist es irgendwann in der Zukunft möglich, den geheimen Schlüssel aus einer mitgeschnittenen OpenVPN-Sitzung zu rekonstruieren, weil zuvor der Control-Channel gebrochen wurde. Das würde möglicherweise dadurch begünstigt sein, wenn die beiden Peers in der Schlüsselverhandlung (symmetrisch) mehr oder wenig einen Static-Key verwenden. Aus wiederholten mitgeschnittenen Sitzungen sind dann wegen mehr Materials bessere Möglichkeiten für mathematische Rückschlüsse gegeben.

Aber das führt einen dann zwangläufig zu der Erkenntnis, dass man eben Wiederholungen des zuletzt verwendeten symmetrischen Schlüssels auf dem Datenchannel besser kategorisch ausschließt. Also, nicht die sinnlos übertriebene Steigerung von RSA auf dem Control-Channel ist die Lösung, sondern die Wahl der richtigen Cipher auf dem Datenchannel, die dafür sorgt, dass ein einmalig generierter symmetrischer Schlüssel keinesfalls wiederholt wird und auch nicht aus dem vorliegenden Datenmaterial rekonstruiert werden kann. Das Diffie-Hellmann-Proktoll zur Schlüsselverhandlung selber ist nicht verschlüsselt, es verwendet den verschlüsselten Control-Channel, und DH ist auch weiterhin die richtige Wahl für diesen Zweck. Man muss hierbei lediglich entscheiden, ob man ein Pem-File verwendet oder eine elliptische Kurve.... bei beidem muss einem aber klar sein, dass das nicht geheim ist, sondern nur 'ne fette Primzahl ist, die als öffentlicher Schlüssel im Netz übertragen wird....was auch unkritisch ist.... denn der geheime Schlüsselanteil verbleibt ja lokal auf dem Host. Aber der wichtigste Aspekt an diesem Punkt ist es, nicht DH, sondern DHE zu verwenden. Das 'E' steht für ephemeral, was soviel wie kurzlebig bedeutet. Ein solcher mit DHE verhandelter Schlüssel hat nur für die aktuelle Sitzung Gültigkeit und kann selbst bei Vorliegen allen vergangenen Datenmaterials nicht rekonstruiert werden... ganz egal und völlig unberücksichtig davon, ob zuvor RSA-2048 oder RSA-8192 den Control-Channel verschlüsselt hat. Und wenn dieser ephemere Schlüssel nicht rekonstruiert werden kann, können auch die mit AES256 verschlüsselten Daten auf dem Daten-Channel nicht rückwirkend entschlüsselt werden. So einfach ist das....

Das eigentliche Problem ist also, wie kann ich sicherstellen, dass der Host auf der anderen Seite wirklich der ist, der er zu sein vorgibt, damit ich sicher sein kann, dass RSA-2048 auch wirklich unseren privaten Control-Channel sicher verschlüsselt. Kommuniziere ich nämlich unbemerkt mit einem MITM, ist es faktisch völlig egal, ob ich mit dem oder dem Mann im Mond über RSA256 oder RSA15360 kommuniziere.... dann verhandele ich nämlich mit einem unautorisierten Dritten über den symmetrischen Schlüssel und nicht mit dem gewollten Partner. Andersrum ist es heute ebenfalls egal, wenn die Integrität beider Peers und der Verbindung unzweifelhaft ist, ob ich RSA2048 oder größer verwende... in dem Fall ist RSA2048 heute genauso sicher, wie ein höherer Wert, weil darüber auf zweifelsfrei sichere Weise ein nur einmalig gültiger symmetrischer Schlüssel für den Datenchanel verhandelt werden kann. Wenn ich allerdings wirklich ein wenig paranoid bin, kann ich natürlich mit RSA3072 nach heutigen Maßstäben eine noch bessere Sicherheit dafür herstellen, dass nicht irgendwann in ferner Zukunft rückwirkend der Kommunikations-Anteil auf dem Control-Channel dieser 'heutigen' Sitzung rückwirkend gebrochen werden kann. Und selbst wenn, damit ist immer noch nicht der Daten-Channel gebrochen. Das primäre Ziel muss deswegen aber immer sein sicherzustellen, dass der andere Peer auch wirklich der ist, der er vorgibt zu sein... und deshalb muss ich meine Zertifikate durchaus sicher aufbewahren, eben damit nicht jemand anderes mit der Verwendung eines gestohlenen Zertifikats vorgeben kann, jemand zu sein, der er gar nicht ist. An diesem Punkt halte ich es beispielsweise für ein möglicherweise unkalkulierbares Risiko, solche Zertifikate auf einem Smartphone aufzubewahren... weil man faktisch keine oder nur eine unzureichende Kontrolle über die Leseberechtigungen der Apps hat... keine Ahnung, ob das wirklich so ist... ich verwende aber bereits seit 2 Jahren kein VPN mehr auf dem Handy, sondern nutze es nur noch als Router/Gateway.

Ums nun zum Ende zu bringen... mein Fazit für sichere OpenVPN-Verbindungen:
  1. Sicher aufbewahrte Zertifikate, um eine sichere Identifizierung/Authentifizierung der Peers zu ermöglichen
  2. Eine auf den aktuellen Moment angemessene Verschlüsselung auf dem Control-Channel verwenden, also heute RSA2048 oder RSA3072
  3. Sofern die eigene Hardware das unterstützt, nur ab TLS 1.2 zulassen
  4. Zwischen pem-File oder elliptischer Kurve wählen (EC scheint Vorteile zu haben)
  5. Zwingend DHE verwenden
  6. Nur Cipher-Suiten mit ephemeren symmetrischen Schlüssel zulassen.
  7. Message-Authentifizierung auf beiden Kanälen mit HMAC/SHA256 herstellen (SHA512 verbessert nicht die Sicherheit, sondern verschlechtert nur die Performance)
Ich würde mich hier über etwas Feedback freuen... denn ohne Feedback hätte ich mir das auch sparen können.... und Feedback brauchts einfach, um das Geschreibsel überhaupt bewerten zu können.... :roll:

sergej2018

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von sergej2018 » 09.11.2019 16:47:37

*puh* deine Deutsch-Fähigkeiten in allen Ehren, aber für nen Forum genügt's auch, das informaler und kürzer zu schreiben (meine Meinung).

Ansonsten: Ja, ich stimme dir zu ;-)
Jedenfalls habe ich die jeweiligen Funktionsweisen und Protokolle genau so verstanden, wie du es beschrieben hast.

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 09.11.2019 17:08:23

sergej2018 hat geschrieben: ↑ zum Beitrag ↑
09.11.2019 16:47:37
aber für nen Forum genügt's auch, das informaler und kürzer zu schreiben (meine Meinung).
Ja... ok... Du bist also der Meinung, allein die Aussage secp384r1 und TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 zu verwenden, hätte Deine Frage nach RSA8192 und ggf. sogar RSA16384 schon ausreichend beantwortet?
Jedenfalls habe ich die jeweiligen Funktionsweisen und Protokolle genau so verstanden, wie du es beschrieben hast.
Das verstehe ich jetzt wiederum nicht... weil dann doch die Frage nach RSA8192 und ggf. sogar RSA16384 völlig unnütz war.... :roll:

BTW, es geht hier nicht um Deutsch-Kenntnisse. Und sorry, wenn ich gegen eine Forumsregel verstoßen haben sollte, und dem, was gesetzesmäßig hier zu genügen hat oder was einzelne Leute erlauben... ja, sorry, mein Fehler... ist halt passiert... die Intention war, vielleicht fachliche Kritik zu hören... weil ich das ggf. in meiner Dokumentation verwenden möchte.

sergej2018

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von sergej2018 » 09.11.2019 17:57:35

Nicht so empfindlich sein ;-)
Ich wollte damit nur sagen: Nicht jeder hier hat Lust, seitenlange Abhandlungen zu lesen, die man auch kürzer und prägnanter zusammenfassen könnte.

Ich hab in diesem Thread einfach dazugelernt, darum ist meine Eingangsfrage mittlerweile beantwortet :)

TomL

Re: easyrsa: wie viel bit sinnvoll?

Beitrag von TomL » 09.11.2019 19:19:21

sergej2018 hat geschrieben: ↑ zum Beitrag ↑
09.11.2019 17:57:35
Ich wollte damit nur sagen: Nicht jeder hier hat Lust, seitenlange Abhandlungen zu lesen,
Und diejenigen, die keine Lust haben, sind der Maßstab, an dem sich alle zu orientieren haben? Nur das ich das richtig verstehe, falls ich noch mal auf die Idee komme, etwas zur Diskussion zu stellen. Ich finde das ja auch völlig ok, wenn man den Leuten generell die Wahl abnimmt, etwas lesen zu können oder nicht lesen zu können.... oder doch nicht... :roll:
die man auch kürzer und prägnanter zusammenfassen könnte.
Wenn das so einfach ist, war ich wohl damit überfordert.... könntest Du das bei diesem Thema einmal mit einem die Zusammenhänge erklärenden Text zeigen, wie man es besser macht? Vielleicht gelingt es dir dabei ja sogar auch, endlich mal etwas zur Sache beizutragen.... um den Inhalt in welcher Forum auch immer zu verbessern. Das ist doch eigentlich das mindeste, was man an Kritik bindet... eine bessere Alternative zu bieten.

Nein, ich bin nicht empfindlich... ich würde nur gerne endlich mal zum Thema passende Aspekte diskutieren... und nicht über die vermeintliche Unfähigkeit mancher Leser, nur noch Nachrichten im Whatsapp-Umfang verstehen zu können. Ganz offensichtlich habe ich ein größerers Vertrauen in die Fähigkeiten der Leute hier, als Du es scheinbar hast. BTW, wenn jemand keine Lust hat, inwiefern wird er überhaupt dazu genötigt, zu lesen?

Antworten