.Net: Funktionieren meine RSA-Schlüssel auch nach August 2012?

8

Ich lese gerade diesen Artikel RSA-Schlüssel unter 1024 Bit sind blockiert , und in meiner .NET-Software verwende ich umfangreich 384bit-Schlüssel. Kann mein Programm mit dem RSACryptoServiceProvider Schlüssel aus dem MachineKeyStore erzeugen / speichern / lesen? Oder muss ich einen Patch aussenden?

    
Muis 12.07.2012, 15:14
quelle

3 Antworten

4

Ich habe eine Antwort von Microsft (Kurt L Hudson) erhalten, und dieses Update sollte nur das Chainbuilding beeinflussen, daher scheint es, dass RSACryptoServiceProvider auch nach August 2012 mit kleinen Schlüsselgrößen weiter funktioniert.

    
Muis 14.07.2012 09:13
quelle
0

Dies ist eine vorgeschlagene Antwort auf eine Frage, die in den Kommentaren aufkam.

Sie könnten wahrscheinlich eine Möglichkeit finden, eine symmetrische Methode zur Authentifizierung von Clients zu verwenden. Ich gehe davon aus, dass Sie gerade ein typisches RSA-Signaturschema verwenden, bei dem ein Nachrichtenhash von einem privaten Schlüssel eines Clients signiert wird, der dann durch den öffentlichen Schlüssel verifiziert werden kann.

Sie könnten vielleicht einen dauerhaften Schlüssel austauschen und dann den Nachrichtenauszug mit diesem Schlüssel anstelle des asymmetrischen Schlüssels verschlüsseln. Sie würden immer noch garantieren, dass derjenige, der die Nachricht gesendet hat, den geheimen Schlüssel kannte, obwohl Sie keine Möglichkeit haben würden, zu überprüfen, ob die Nachricht vom Client oder vom Server gesendet wurde (da beide den Schlüssel kennen). Wenn der Client den Server während der Authentifizierung anforderte, würde dies dazu beitragen, Man in den mittleren Angriffen zu verhindern (obwohl der Client den öffentlichen Schlüssel des Servers lokal eingebettet haben müsste)

    
Wug 12.07.2012 20:24
quelle
0

Wenn das Minimieren der Signaturgröße kritisch ist, dann ist RSA eine schlechte Wahl für den Anfang. DSA und ECDSA produzieren beide kürzere Signaturen mit viel größerer Stärke als RSA. Allerdings werden weder DSA noch ECDSA der Geschwindigkeit der Signaturprüfung für RSA 384 nahe kommen.

Wenn Sie jedoch weiterhin die Schlüssel verwenden müssen, die Sie haben, müssen Sie Ihren Code ändern, um die Verwendung von Microsoft-Kryptografie-APIs zu vermeiden. Sie können beispielsweise die Bouncycastle C # -Bibliothek verwenden, wenn Sie C # verwenden. Schließlich können Sie sich bei Microsoft darüber beschweren. Ich bezweifle, dass es etwas nützen wird, aber du kannst es immer versuchen.

    
James K Polk 13.07.2012 21:43
quelle