Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
| Eigenschaft | Wert |
|---|---|
| Regel-ID | CA5385 |
| Titel | RSA-Algorithmus (Rivest – Shamir – Adleman) mit ausreichender Schlüsselgröße verwenden |
| Kategorie | Security |
| Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
| Standardmäßig in .NET 10 aktiviert | No |
Ursache
Die Verwendung des asymmetrischen RSA-Verschlüsselungsalgorithmus mit einer Schlüsselgröße von weniger als 2048 Bits auf eine der folgenden Arten:
- Instanziieren aller abgeleiteten Klassen von System.Security.Cryptography.RSA und Angeben des Parameters
KeySizemit einem Wert unter 2048 Bits - Zurückgeben eines beliebigen Objekts, dessen Typ von System.Security.Cryptography.RSA abgeleitet ist
- Verwenden von System.Security.Cryptography.AsymmetricAlgorithm.Create ohne Parameter – dadurch wird der RSA-Schlüssel mit der Standardschlüsselgröße 1024 Bits erstellt
- Verwenden von System.Security.Cryptography.AsymmetricAlgorithm.Create und Angeben des Parameters
algNamealsRSAmit der Standardschlüsselgröße von 1024 Bits - Verwenden von System.Security.Cryptography.CryptoConfig.CreateFromName und Angeben des Parameters
namealsRSAmit der Standardschlüsselgröße von 1024 Bits - Verwenden von System.Security.Cryptography.CryptoConfig.CreateFromName, Angeben des Parameters
namealsRSAund explizites Angeben einer Schlüsselgröße von weniger als 2048 Bits durchargs
Regelbeschreibung
Ein RSA-Schlüssel, der kleiner als 2048 Bits ist, ist anfälliger für Brute-Force-Angriffe.
Behandeln von Verstößen
Wechseln Sie stattdessen zu einem RSA-Schlüssel mit einer Größe von mindestens 2048 Bits oder zu einem ECDH- oder ECDSA-Algorithmus.
Wann sollten Warnungen unterdrückt werden?
Es wird nicht empfohlen, diese Regel zu unterdrücken, solange keine Gründe im Hinblick auf die Kompatibilität mit Legacyanwendungen und -daten vorliegen.
Unterdrücken einer Warnung
Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.
#pragma warning disable CA5385
// The code that's violating the rule is on this line.
#pragma warning restore CA5385
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der none auf fest.
[*.{cs,vb}]
dotnet_diagnostic.CA5385.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.
Beispiel
Der folgende Ausschnitt veranschaulicht das von dieser Regel erkannte Muster.
Verstoß:
using System.Security.Cryptography;
class ExampleClass
{
public void ExampleMethod()
{
RSACng rsaCng = new RSACng(1024);
}
}
Lösung:
using System.Security.Cryptography;
class ExampleClass
{
public void ExampleMethod()
{
RSACng rsaCng = new RSACng(2048);
}
}