Bagikan melalui


Gambaran Umum Perlindungan Data Inti ASP.NET

ASP.NET Core menyediakan API kriptografi untuk melindungi data, termasuk manajemen dan rotasi kunci.

Aplikasi web sering kali perlu menyimpan data sensitif. API perlindungan data Windows (DPAPI) tidak ditujukan untuk digunakan di aplikasi web.

Tumpukan perlindungan data ASP.NET Core dirancang untuk:

  • Berikan solusi bawaan untuk sebagian besar skenario Web.
  • Atasi banyak kekurangan sistem enkripsi sebelumnya.
  • Berfungsi sebagai pengganti <machineKey> elemen dalam ASP.NET 1.x - 4.x.

Pernyataan masalah

Saya perlu mempertahankan informasi tepercaya untuk pengambilan nanti, tetapi saya tidak mempercayai mekanisme persistensi. Dalam istilah web, ini mungkin ditulis karena saya perlu melakukan pulang-pergi status tepercaya melalui klien yang tidak tepercaya.

Keaslian, integritas, dan pemeriksa perubahan adalah persyaratan. Contoh kanonis dari ini adalah token autentikasi cookie atau pembawa. Server menghasilkan saya Groot dan memiliki token izin xyz dan mengirimkannya ke klien. Klien menyajikan token itu kembali ke server, tetapi server membutuhkan semacam jaminan bahwa klien belum memalsukan token.

Kerahasiaan adalah persyaratan. Karena status bertahan dipercaya oleh server, status ini dapat berisi informasi yang seharusnya tidak diungkapkan ke klien yang tidak tepercaya. Contohnya:

  • Jalur file.
  • Izin.
  • Handel atau referensi tidak langsung lainnya.
  • Beberapa data khusus server.

Isolasi adalah persyaratan. Karena aplikasi modern digabungkan, komponen individual ingin memanfaatkan sistem ini tanpa memperhatikan komponen lain dalam sistem. Misalnya, pertimbangkan komponen token pembawa menggunakan tumpukan ini. Ini harus beroperasi tanpa gangguan apa pun, misalnya, dari mekanisme anti-CSRF juga menggunakan tumpukan yang sama.

Beberapa asumsi umum dapat mempersempit cakupan persyaratan:

  • Semua layanan yang beroperasi dalam cryptosystem sama-sama tepercaya.
  • Data tidak perlu dihasilkan atau dikonsumsi di luar layanan di bawah kontrol langsung kami.
  • Operasi harus cepat karena setiap permintaan ke layanan web mungkin melalui cryptosystem satu atau beberapa kali. Persyaratan kecepatan membuat kriptografi simetris ideal. Kriptografi asimetris tidak digunakan sampai diperlukan.

Filsafat desain

ASP.NET Perlindungan data Core adalah tumpukan perlindungan data yang mudah digunakan . Ini didasarkan pada prinsip-prinsip berikut:

  • Kemudahan konfigurasi. Sistem berusaha untuk konfigurasi nol. Dalam situasi di mana pengembang perlu mengonfigurasi aspek tertentu, seperti repositori kunci, konfigurasi spesifik tersebut tidak sulit.
  • Menawarkan API dasar yang menghadap konsumen. API langsung diteruskan untuk digunakan dengan benar dan sulit digunakan dengan benar.
  • Pengembang tidak perlu mempelajari prinsip manajemen utama. Sistem menangani pemilihan algoritma dan masa pakai kunci atas nama pengembang. Pengembang tidak memiliki akses ke bahan kunci mentah.
  • Kunci dilindungi rest sebanyak mungkin. Sistem mencari tahu mekanisme perlindungan default yang sesuai dan menerapkannya secara otomatis.

API perlindungan data terutama tidak ditujukan untuk persistensi payload rahasia yang tidak terbatas. Teknologi lain, seperti Windows CNG DPAPI dan Azure Rights Management lebih cocok untuk skenario penyimpanan yang tidak terbatas. Mereka memiliki kemampuan manajemen kunci yang kuat secara sesuai. Meskipun demikian, API perlindungan data ASP.NET Core dapat digunakan untuk perlindungan jangka panjang data rahasia.

Audiens

Sistem perlindungan data menyediakan API yang menargetkan tiga audiens utama:

  1. API konsumen menargetkan aplikasi dan pengembang kerangka kerja.

    Saya tidak ingin mempelajari tentang bagaimana tumpukan beroperasi atau tentang bagaimana tumpukan dikonfigurasi. Saya hanya ingin melakukan beberapa operasi dengan probabilitas tinggi menggunakan API dengan sukses.

  2. API konfigurasi menargetkan pengembang aplikasi dan administrator sistem.

    Saya perlu memberi tahu sistem perlindungan data bahwa lingkungan saya memerlukan jalur atau pengaturan non-default.

  3. API ekstensibilitas menargetkan pengembang yang bertugas menerapkan kebijakan kustom. Penggunaan API ini terbatas pada situasi langka dan pengembang dengan pengalaman keamanan.

    Saya perlu mengganti seluruh komponen dalam sistem karena saya memiliki persyaratan perilaku yang benar-benar unik. Saya bersedia mempelajari bagian yang jarang digunakan dari permukaan API untuk membangun plugin yang memenuhi kebutuhan saya.

Tata letak paket

Tumpukan perlindungan data terdiri dari lima paket:

Sumber Daya Tambahan:

ASP.NET Core menyediakan API kriptografi untuk melindungi data, termasuk manajemen dan rotasi kunci.

Aplikasi web sering kali perlu menyimpan data sensitif. API perlindungan data Windows (DPAPI) tidak ditujukan untuk digunakan di aplikasi web.

Tumpukan perlindungan data ASP.NET Core dirancang untuk:

  • Berikan solusi bawaan untuk sebagian besar skenario Web.
  • Atasi banyak kekurangan sistem enkripsi sebelumnya.
  • Berfungsi sebagai pengganti <machineKey> elemen dalam ASP.NET 1.x - 4.x.

Pernyataan masalah

Saya perlu mempertahankan informasi tepercaya untuk pengambilan nanti, tetapi saya tidak mempercayai mekanisme persistensi. Dalam istilah web, ini mungkin ditulis karena saya perlu melakukan pulang-pergi status tepercaya melalui klien yang tidak tepercaya.

Keaslian, integritas, dan pemeriksa perubahan adalah persyaratan. Contoh kanonis dari ini adalah token autentikasi cookie atau pembawa. Server menghasilkan saya Groot dan memiliki token izin xyz dan mengirimkannya ke klien. Klien menyajikan token itu kembali ke server, tetapi server membutuhkan semacam jaminan bahwa klien belum memalsukan token.

Kerahasiaan adalah persyaratan. Karena status bertahan dipercaya oleh server, status ini dapat berisi informasi yang seharusnya tidak diungkapkan ke klien yang tidak tepercaya. Contohnya:

  • Jalur file.
  • Izin.
  • Handel atau referensi tidak langsung lainnya.
  • Beberapa data khusus server.

Isolasi adalah persyaratan. Karena aplikasi modern digabungkan, komponen individual ingin memanfaatkan sistem ini tanpa memperhatikan komponen lain dalam sistem. Misalnya, pertimbangkan komponen token pembawa menggunakan tumpukan ini. Ini harus beroperasi tanpa gangguan apa pun, misalnya, dari mekanisme anti-CSRF juga menggunakan tumpukan yang sama.

Beberapa asumsi umum dapat mempersempit cakupan persyaratan:

  • Semua layanan yang beroperasi dalam cryptosystem sama-sama tepercaya.
  • Data tidak perlu dihasilkan atau dikonsumsi di luar layanan di bawah kontrol langsung kami.
  • Operasi harus cepat karena setiap permintaan ke layanan web mungkin melalui cryptosystem satu atau beberapa kali. Persyaratan kecepatan membuat kriptografi simetris ideal. Kriptografi asimetris tidak digunakan sampai diperlukan.

Filsafat desain

ASP.NET Perlindungan data Core adalah tumpukan perlindungan data yang mudah digunakan . Ini didasarkan pada prinsip-prinsip berikut:

  • Kemudahan konfigurasi. Sistem berusaha untuk konfigurasi nol. Dalam situasi di mana pengembang perlu mengonfigurasi aspek tertentu, seperti repositori kunci, konfigurasi spesifik tersebut tidak sulit.
  • Menawarkan API dasar yang menghadap konsumen. API langsung diteruskan untuk digunakan dengan benar dan sulit digunakan dengan benar.
  • Pengembang tidak perlu mempelajari prinsip manajemen utama. Sistem menangani pemilihan algoritma dan masa pakai kunci atas nama pengembang. Pengembang tidak memiliki akses ke bahan kunci mentah.
  • Kunci dilindungi rest sebanyak mungkin. Sistem mencari tahu mekanisme perlindungan default yang sesuai dan menerapkannya secara otomatis.

API perlindungan data terutama tidak ditujukan untuk persistensi payload rahasia yang tidak terbatas. Teknologi lain, seperti Windows CNG DPAPI dan Azure Rights Management lebih cocok untuk skenario penyimpanan yang tidak terbatas. Mereka memiliki kemampuan manajemen kunci yang kuat secara sesuai. Meskipun demikian, API perlindungan data ASP.NET Core dapat digunakan untuk perlindungan jangka panjang data rahasia.

Audiens

Sistem perlindungan data menyediakan API yang menargetkan tiga audiens utama:

  1. API konsumen menargetkan aplikasi dan pengembang kerangka kerja.

    Saya tidak ingin mempelajari tentang bagaimana tumpukan beroperasi atau tentang bagaimana tumpukan dikonfigurasi. Saya hanya ingin melakukan beberapa operasi dengan probabilitas tinggi menggunakan API dengan sukses.

  2. API konfigurasi menargetkan pengembang aplikasi dan administrator sistem.

    Saya perlu memberi tahu sistem perlindungan data bahwa lingkungan saya memerlukan jalur atau pengaturan non-default.

  3. API ekstensibilitas menargetkan pengembang yang bertugas menerapkan kebijakan kustom. Penggunaan API ini terbatas pada situasi langka dan pengembang dengan pengalaman keamanan.

    Saya perlu mengganti seluruh komponen dalam sistem karena saya memiliki persyaratan perilaku yang benar-benar unik. Saya bersedia mempelajari bagian yang jarang digunakan dari permukaan API untuk membangun plugin yang memenuhi kebutuhan saya.

Tata letak paket

Tumpukan perlindungan data terdiri dari lima paket:

Sumber Daya Tambahan: