Bagikan melalui


Proteksi Yang Diperluas untuk Gambaran Umum Autentikasi

Perlindungan yang Diperluas untuk Autentikasi membantu melindungi dari serangan man-in-the-middle (MITM), di mana penyerang mencegat mandat klien dan meneruskannya ke server.

Pertimbangkan skenario dengan tiga peserta: klien, server, dan penyerang. Server memiliki URL https://server, sedangkan penyerang memiliki URL https://attacker. Penyerang menipu klien untuk mengakses penyerang seolah-olah itu adalah server. Penyerang kemudian mengirim permintaan ke server. Jika penyerang mencoba mengakses sumber daya yang aman, server membalas penyerang dengan header WWW-Authenticate. Penyerang tidak memiliki informasi autentikasi, sehingga mengirim header WWW-Authenticate ke klien. Klien mengirim header Otorisasi ke penyerang, dan penyerang mengirim header ke server dan mendapatkan akses ke sumber daya aman menggunakan mandat klien.

Saat ini, ketika aplikasi klien mengautentikasi dirinya sendiri ke server menggunakan Kerberos, Digest, atau NTLM menggunakan HTTPS, saluran Keamanan Lapisan Transportasi (TLS) pertama kali dibuat dan autentikasi terjadi menggunakan saluran ini. Namun, tidak ada pengikatan antara kunci sesi yang dihasilkan oleh SSL dan kunci sesi yang dihasilkan selama autentikasi. Jadi, dalam skenario sebelumnya, jika komunikasi mengambil tempat di atas TLS (seperti saluran HTTPS), ada dua saluran SSL yang dibuat: satu antara klien dan penyerang, dan satu lagi antara penyerang dan server. Mandat klien dikirim dari klien ke server terlebih dahulu melalui saluran SSL antara klien dan penyerang dan kemudian melalui saluran antara penyerang dan server. Setelah mandat klien mencapai server, server memverifikasi mandat tanpa mendeteksi bahwa saluran tempat mandat tersebut dikirim berasal dari penyerang dan bukan klien.

Solusinya adalah dengan menggunakan saluran luar yang diamankan TLS dan saluran dalam yang diautentikasi klien, dan dengan meneruskan Token Pengikatan Saluran (CBT) ke server. CBT adalah properti saluran luar yang diamankan TLS, dan digunakan untuk mengikat saluran luar ke percakapan melalui saluran dalam yang diautentikasi klien.

Dalam skenario sebelumnya, CBT saluran TLS penyerang klien digabungkan dengan informasi otorisasi yang dikirim ke server. Server yang sadar CBT membandingkan CBT yang terkandung dalam informasi autentikasi klien, yang sesuai dengan saluran penyerang klien, dengan CBT yang dilampirkan ke saluran penyerang-server. CBT khusus untuk tujuan saluran, sehingga CBT penyerang klien tidak cocok dengan CBT penyerang server. Ini memungkinkan server mendeteksi serangan MITM dan menolak permintaan autentikasi.

Sisi klien tidak memerlukan pengaturan konfigurasi apa pun. Setelah klien diperbarui untuk meneruskan CBT ke server, klien selalu melakukannya. Jika server juga telah diperbarui, server dapat dikonfigurasi untuk menggunakan CBT atau mengabaikannya. Jika belum diperbarui, ia akan mengabaikannya.

Server dapat memiliki tingkat perlindungan berikut:

  • Tidak ada. Tidak ada validasi pengikatan saluran yang dilakukan. Ini adalah perilaku semua server yang belum diperbarui.

  • Parsial. Semua klien yang telah diperbarui harus memberikan informasi pengikatan saluran ke server. Klien yang belum diperbarui tidak perlu melakukannya. Ini adalah opsi perantara yang memungkinkan kompatibilitas aplikasi.

  • Penuh. Semua klien harus memberikan informasi pengikatan saluran. Server menolak permintaan autentikasi dari klien yang tidak melakukannya.

Untuk informasi selengkapnya, lihat sampel Win7 CBT/Perlindungan yang Diperluas.

Lihat juga