Bagikan melalui


Pertukaran Kunci Sesi Manual

Catatan

Prosedur yang dijelaskan di bagian ini mengasumsikan bahwa pengguna (atau klien CryptoAPI) sudah memiliki sekumpulan pasangan kunci publik/privat mereka sendiri dan juga telah memperoleh kunci publik satu sama lain.

 

Ilustrasi berikut ini memperlihatkan cara menggunakan prosedur ini untuk mengirim pesan terenkripsi.

mengirim pesan terenkripsi

Pendekatan ini rentan terhadap setidaknya satu bentuk serangan umum. Penyadap dapat memperoleh salinan satu atau beberapa pesan terenkripsi dan kunci terenkripsi. Kemudian, di lain waktu, penyadap dapat mengirim salah satu pesan ini ke penerima dan penerima tidak akan memiliki cara untuk mengetahui pesan tidak datang langsung dari pengirim asli. Risiko ini dapat dikurangi dengan stempel waktu semua pesan atau dengan menggunakan nomor seri.

Cara termampu untuk mengirim pesan terenkripsi ke pengguna lain adalah dengan mengirim pesan yang dienkripsi dengan kunci sesi acak bersama dengan kunci sesi yang dienkripsi dengan kunci publik pertukaran kunci penerima.

Berikut ini adalah langkah-langkah untuk mengirim kunci sesi terenkripsi.

Untuk mengirim kunci sesi terenkripsi

  1. Buat kunci sesi acak dengan menggunakan fungsi CryptGenKey .
  2. Enkripsi pesan dengan menggunakan kunci sesi. Prosedur ini dibahas dalam Enkripsi dan Dekripsi Data.
  3. Ekspor kunci sesi ke dalam BLOB kunci dengan fungsi CryptExportKey , yang menentukan bahwa kunci dienkripsi dengan kunci publik pertukaran kunci pengguna tujuan.
  4. Kirim pesan terenkripsi dan BLOB kunci terenkripsi ke pengguna tujuan.
  5. Pengguna tujuan mengimpor BLOB kunci ke dalam CSP-nya dengan menggunakan fungsi CryptImportKey . Ini akan secara otomatis mendekripsi kunci sesi, asalkan kunci publik pertukaran kunci pengguna tujuan ditentukan di langkah 3.
  6. Pengguna tujuan kemudian dapat mendekripsi pesan dengan menggunakan kunci sesi, mengikuti prosedur yang dibahas dalam Enkripsi dan Dekripsi Data.