Bagikan melalui


CA5385: Gunakan algoritma Rivest–Shamir–Adleman (RSA) dengan ukuran kunci yang memadai

Properti Nilai
ID Aturan CA5385
Judul Gunakan algoritma Rivest–Shamir–Adleman (RSA) dengan ukuran kunci yang memadai
Golongan Keamanan
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif
Diaktifkan secara default di .NET 8 Tidak

Penyebab

Menggunakan RSA algoritma enkripsi asimetris dengan ukuran kunci kurang dari 2048 dengan salah satu cara berikut:

Deskripsi aturan

Kunci RSA yang lebih kecil dari 2048 bit lebih rentan terhadap serangan brute force.

Cara memperbaiki pelanggaran

Beralih ke RSA dengan setidaknya ukuran kunci 2048, algoritma ECDH atau ECDsa sebagai gantinya.

Kapan harus menekan peringatan

Tidak disarankan untuk menekan aturan ini kecuali untuk kompatibilitas dengan aplikasi dan data warisan.

Menyembunyikan peringatan

Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.

#pragma warning disable CA5385
// The code that's violating the rule is on this line.
#pragma warning restore CA5385

Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.

[*.{cs,vb}]
dotnet_diagnostic.CA5385.severity = none

Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.

Contoh

Cuplikan kode berikut mengilustrasikan pola yang terdeteksi oleh aturan ini.

Pelanggaran:

using System.Security.Cryptography;

class ExampleClass
{
    public void ExampleMethod()
    {
        RSACng rsaCng = new RSACng(1024);
    }
}

Solusi:

using System.Security.Cryptography;

class ExampleClass
{
    public void ExampleMethod()
    {
        RSACng rsaCng = new RSACng(2048);
    }
}