Bagikan melalui


Enkripsi Tanda Tangan Digital

Secara default, pesan ditandatangani dan dienkripsi, dan tanda tangan dienkripsi secara digital. Anda dapat mengontrol ini dengan membuat pengikatan kustom dengan instans AsymmetricSecurityBindingElement atau SymmetricSecurityBindingElement lalu mengatur properti MessageProtectionOrder dari salah satu kelas ke nilai enumerasi MessageProtectionOrder. Default adalah SignBeforeEncryptAndEncryptSignature. Proses ini membutuhkan waktu 10 hingga 40 persen lebih lama daripada sekadar penandatanganan dan enkripsi. Menonaktifkan enkripsi tanda tangan, namun, mungkin memungkinkan penyerang untuk menebak konten pesan. Ini dimungkinkan karena elemen tanda tangan berisi kode hash teks biasa dari setiap bagian yang ditandatangani dalam pesan. Misalnya, meskipun isi pesan dienkripsi secara default, tanda tangan yang tidak terenkripsi berisi kode hash isi pesan. Jika pesan kecil, penyerang mungkin dapat menyimpulkan konten. Mengenkripsi tanda tangan mengurangi atau menghilangkan kemungkinan ini.

Oleh karena itu, nonaktifkan enkripsi tanda tangan hanya ketika nilai konten rendah, dan perolehan performa akan signifikan, misalnya, saat mengirim file biner besar yang tidak memiliki implikasi keamanan.

Untuk menonaktifkan penandatanganan digital

  1. Buat CustomBinding. Untuk informasi selengkapnya, lihat Cara: Membuat Pengikatan Kustom Menggunakan SecurityBindingElement.

  2. Tambahkan AsymmetricSecurityBindingElement atau SymmetricSecurityBindingElement ke koleksi pengikatan.

  3. Atur properti AsymmetricSecurityBindingElement.MessageProtectionOrder ke SignBeforeEncrypt, atau atur properti SymmetricSecurityBindingElement.MessageProtectionOrder ke SignBeforeEncrypt.

Untuk mengetahui informasi selengkapnya tentang cara membuat pengikatan kustom, lihat Membuat Pengikatan yang Ditentukan Pengguna. Untuk informasi selengkapnya tentang membuat pengikatan kustom untuk mode autentikasi tertentu, lihat Cara: Membuat SecurityBindingElement untuk Mode Autentikasi Tertentu.

Lihat juga