Bagikan melalui


Memahami Autentikasi HTTP

Autentikasi adalah proses mengidentifikasi siapa klien, biasanya untuk menentukan apakah klien memenuhi syarat untuk mengakses sumber daya. Protokol HTTP mendukung autentikasi sebagai sarana negosiasi akses ke sumber daya yang aman.

Permintaan awal dari klien biasanya merupakan permintaan anonim, tidak berisi informasi autentikasi apa pun. Aplikasi server HTTP dapat menolak permintaan anonim sambil menunjukkan bahwa autentikasi diperlukan. Aplikasi server mengirim header WWW-Authentication untuk menunjukkan skema autentikasi yang didukung. Artikel ini menjelaskan beberapa skema autentikasi untuk HTTP dan membahas dukungan mereka di Windows Communication Foundation (WCF).

Skema Autentikasi HTTP

Server dapat menentukan beberapa skema autentikasi untuk dipilih klien. Tabel berikut ini menjelaskan beberapa skema autentikasi yang umumnya ditemukan di aplikasi Windows:

Skema Autentikasi Deskripsi
Anonim Permintaan anonim tidak berisi informasi autentikasi apa pun. Anonim setara dengan memberi semua orang akses ke sumber daya.
Dasar Autentikasi dasar mengirimkan string yang dikodekan Base64 yang berisi nama pengguna dan kata sandi untuk klien. Base64 bukan bentuk enkripsi dan harus dianggap sama dengan mengirim nama pengguna dan kata sandi dalam teks yang jelas. Jika sumber daya perlu dilindungi, sangat pertimbangkan untuk menggunakan skema autentikasi selain autentikasi dasar.
digest Autentikasi hash adalah skema respons tantangan yang dimaksudkan untuk menggantikan autentikasi Dasar. Server mengirimkan serangkaian data acak yang disebut nonce ke klien sebagai tantangan. Klien merespons dengan hash yang menyertakan nama pengguna, kata sandi, dan nonce, di antara informasi tambahan. Kompleksitas pertukaran ini diperkenalkan dan hashing data membuatnya lebih sulit untuk mencuri dan menggunakan kembali mandat pengguna dengan skema autentikasi ini.

Autentikasi hash memerlukan penggunaan akun domain Windows. Jangkauan digest adalah nama domain Windows. Oleh karena itu, Anda tidak dapat menggunakan server yang berjalan pada sistem operasi yang tidak mendukung domain Windows, seperti Windows XP Home Edition, dengan autentikasi Digest. Sebaliknya, ketika klien berjalan pada sistem operasi yang tidak mendukung domain Windows, akun domain harus ditentukan secara eksplisit selama autentikasi.
NTLM Autentikasi NT LAN Manager (NTLM) adalah skema respons tantangan yang merupakan variasi autentikasi Digest yang lebih aman. NTLM menggunakan mandat Windows untuk mengubah data tantangan alih-alih nama pengguna dan kata sandi yang tidak dikodekan. Autentikasi NTLM memerlukan beberapa pertukaran antara klien dan server. Server dan proksi intervensi apa pun harus mendukung koneksi persisten agar berhasil menyelesaikan autentikasi.
Negosiasi Negosiasikan autentikasi secara otomatis memilih antara protokol Kerberos dan autentikasi NTLM, bergantung pada ketersediaan. Protokol Kerberos digunakan jika tersedia; jika tidak, NTLM dicoba. Autentikasi Kerberos secara signifikan meningkat pada NTLM. Autentikasi Kerberos keduanya lebih cepat daripada NTLM dan memungkinkan penggunaan autentikasi bersama dan delegasi mandat ke komputer jarak jauh.
Windows Live ID Layanan HTTP Windows yang mendasar mencakup autentikasi menggunakan protokol federasi. Namun, transportasi HTTP standar di WCF tidak mendukung penggunaan skema autentikasi federasi, seperti Microsoft Windows Live ID. Dukungan untuk fitur ini saat ini tersedia dengan menggunakan keamanan pesan. Untuk informasi selengkapnya, lihat Federasi dan Token yang Dikeluarkan.

Pilih Skema Autentikasi

Saat memilih skema autentikasi potensial untuk server HTTP, beberapa item yang perlu dipertimbangkan termasuk yang berikut ini:

  • Pertimbangkan apakah sumber daya perlu dilindungi. Menggunakan autentikasi HTTP memerlukan pengiriman lebih banyak data dan dapat membatasi interoperabilitas dengan klien. Izinkan akses anonim ke sumber daya yang tidak perlu dilindungi.

  • Jika sumber daya perlu dilindungi, pertimbangkan skema autentikasi mana yang memberikan tingkat keamanan yang diperlukan. Skema autentikasi standar terlemah yang dibahas di sini adalah Autentikasi dasar. Autentikasi dasar tidak melindungi kredensial pengguna. Skema autentikasi standar terkuat adalah Negosiasi autentikasi, menghasilkan protokol Kerberos.

  • Server tidak boleh ada, misalnya, di header WWW-Authentication), skema apa pun yang tidak disiapkan untuk diterima atau yang tidak cukup mengamankan sumber daya yang dilindungi. Klien bebas memilih antara salah satu skema autentikasi yang disajikan server. Beberapa klien default ke skema autentikasi yang lemah atau skema autentikasi pertama dalam daftar server.

Lihat juga