Menghasilkan Respons Tantangan Hash

Setelah menerima tantangan dari server, klien membuat respons tantangan Digest dengan memanggil fungsi InitializeSecurityContext (Digest). Fungsi ini menghasilkan sidik jari hash MD5 dengan menggunakan informasi tentang sumber daya dan data yang diminta dari tantangan, dan menghasilkan token keamanan yang mewakili konteks keamanan parsial. Untuk menyelesaikan autentikasi, klien harus mengembalikan token ke server yang mengeluarkan tantangan.

Tabel berikut menjelaskan parameter fungsiInitializeSecurityContext (Digest), dan nilai yang akan disediakan saat membuat respons tantangan Digest.

Parameter Deskripsi
fContextReq
Atribut konteks keamanan yang diminta oleh klien. Untuk informasi selengkapnya, lihat Persyaratan Konteks Respons Tantangan Hash.
pszTargetName
HTTP: String yang dihentikan null yang menentukan URL target.
SASL: String yang diakhiri null yang menentukan target DNS/SPN.
pInput
Buffer yang berisi informasi yang diperlukan oleh Digest SSP. Untuk informasi selengkapnya, lihat Buffer Input untuk Respons Tantangan Hash.
pfContextAttr
Menerima atribut yang didukung oleh konteks keamanan yang dikembalikan. Untuk informasi selengkapnya, lihat Persyaratan Konteks Respons Tantangan Hash.
pOutput
Alamat buffer jenis SECBUFFER_TOKEN yang menerima token keamanan untuk dikirim kembali ke server.

Persyaratan Konteks Respons Tantangan Hash

Persyaratan konteks adalah bendera yang menentukan:

  • Apakah Microsoft Digest berfungsi sebagai mekanisme SASL atau protokol autentikasi HTTP.
  • Kualitas perlindungan yang didukung oleh konteks keamanan yang dibagikan oleh klien dan server.

Secara default, Microsoft Digest berfungsi sebagai mekanisme SASL.

Persyaratan konteks ditentukan sebagai bendera yang diteruskan ke parameter fContextReq dari fungsi InitializeSecurityContext . Bendera memengaruhi kualitas perlindungan konteks keamanan dengan mengontrol arahan qop dalam respons tantangan.

Secara default, arahan qop diatur ke "auth". Untuk menghasilkan respons tantangan yang menetapkan qop ke "auth-int", hal berikut harus terjadi:

  1. Tantangan Digest harus memiliki arahan qop yang diatur ke "auth-int".

  2. Klien harus menentukan satu atau beberapa bendera berikut:

    • ISC_REQ_INTEGRITY
    • ISC_REQ_REPLAY_DETECT
    • ISC_REQ_SEQUENCE_DETECT

Hanya untuk SASL: Hasilkan respons tantangan dengan direktif qop yang diatur ke "auth-conf" dengan menentukan bendera ISC_REQ_CONFIDENTIALITY. Karena bendera ini tidak valid untuk autentikasi HTTP, bendera ini tidak dapat digunakan dengan bendera ISC_REQ_HTTP.

Memverifikasi Kualitas Perlindungan

Klien harus memeriksa bendera atribut konteks keamanan yang dikembalikan dalam parameter pfContextAttr fungsi InitializeSecurityContext. Klien harus mengirim respons tantangan ke server hanya jika kualitas perlindungan yang ditunjukkan oleh bendera cukup untuk tujuannya. Bendera yang relevan dapat berupa kombinasi apa pun dari yang berikut ini:

  • ISC_RET_INTEGRITY
  • ISC_RET_REPLAY_DETECT
  • ISC_RET_SEQUENCE_DETECT
  • ISC_RET_CONFIDENTIALITY (hanya konteks SASL)

Untuk informasi selengkapnya tentang arahan qop, lihat Kualitas Perlindungan dan Sandi.

Untuk informasi selengkapnya tentang arahan respons tantangan, lihat Konten Respons Tantangan Hash.