Bagikan melalui


Pertukaran Kunci Sesi Manual

Nota

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 menunjukkan cara menggunakan prosedur ini untuk mengirim pesan terenkripsi.

mengirim pesan terenkripsi

Pendekatan ini rentan terhadap setidaknya satu bentuk serangan umum. Eavesdropper dapat memperoleh salinan satu atau beberapa pesan terenkripsi dan kunci terenkripsi. Kemudian, di lain waktu, eavesdropper dapat mengirim salah satu pesan ini ke penerima dan penerima tidak akan memiliki cara untuk mengetahui pesan tidak berasal 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 fungsiCryptGenKey.
  2. Enkripsi pesan dengan menggunakan kunci sesi. Prosedur ini dibahas dalam Enkripsi dan Dekripsi Data.
  3. Ekspor kunci sesi ke dalamBLOB kuncidengan fungsiCryptExportKey, 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 fungsiCryptImportKey. 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 Data dan Dekripsi.