Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
| 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 10 | No |
Penyebab
Menggunakan RSA algoritma enkripsi asimetris dengan ukuran kunci kurang dari 2048 dengan salah satu cara berikut:
- Membuat instans kelas turunan System.Security.Cryptography.RSA dan menentukan
KeySizeparameter kurang dari 2048. - Mengembalikan objek apa pun yang jenisnya adalah turunan dari System.Security.Cryptography.RSA.
- Menggunakan System.Security.Cryptography.AsymmetricAlgorithm.Create tanpa parameter yang akan membuat RSA dengan ukuran kunci default 1024.
- Menggunakan System.Security.Cryptography.AsymmetricAlgorithm.Create dan menentukan
algNameparameter sepertiRSAdengan ukuran kunci default 1024. - Menggunakan System.Security.Cryptography.CryptoConfig.CreateFromName dan menentukan
nameparameter sepertiRSAdengan ukuran kunci default 1024. - Menggunakan System.Security.Cryptography.CryptoConfig.CreateFromName dan menentukan
nameparameter sebagaiRSAdan menentukan ukuran kunci yang lebih kecil dari 2048 secara eksplisit olehargs.
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);
}
}