Apa itu SASL / GSSAPI?

17

Banyak kali saya telah memenuhi ungkapan SASL / GSSAPI. Saya telah mencari Google berkali-kali, tetapi saya tidak mengerti apa itu dan bagaimana hubungannya dengan Kerberos.

Adakah yang punya penjelasan sederhana tentang ini?


sumber

Jawaban:

5

SASL dan GSSAPI adalah kerangka kerja yang dapat digunakan oleh berbagai penyedia otentikasi. Orang yang ingin menggunakan otentikasi Kerberos dalam aplikasi yang mendukung SASL atau GSSAPI hanya perlu menyediakan plugin Kerberos yang sesuai, daripada menulis ulang aplikasi dengan kode spesifik Kerberos.

dsolimano
sumber
1
Memang, seperti yang saya katakan, "SASL ... bahwa berbagai penyedia otentikasi dapat dicolokkan ke". Mereka adalah dua kerangka kerja berbeda yang dapat Anda pasang ke berbagai penyedia otentikasi, seperti Kerberos atau NTLM.
dsolimano
SASL lebih merupakan spesifikasi implementasi biasanya untuk protokol berbasis teks (seperti SMTP, IMAP, dll). GSSAPI adalah definisi antarmuka aplikasi untuk plugin yang mendukung berbagai mekanisme otentikasi. SASL dapat menggunakan GSSAPI untuk memperluas mekanisme authasinya.
Chris S
tanpa memberikan '' 'contoh' konkret yang penyedia colokan aktual ke mana kerangka kerja dunia nyata, kebanyakan orang tidak tahu apa yang Anda bicarakan.
dotbit
40

SASL adalah singkatan dari Simple Authentication and Security Layer; ini merupakan kerangka kerja yang memungkinkan pengembang untuk menerapkan mekanisme otentikasi yang berbeda, dan memungkinkan klien dan server untuk menegosiasikan mekanisme yang dapat saling diterima untuk setiap koneksi (bukan pengkodean atau pra-konfigurasi mereka).

GSSAPI adalah singkatan dari Antarmuka Program Aplikasi Layanan Keamanan Generik; biasanya tersedia sebagai salah satu mekanisme yang dapat digunakan SASL. Ini sendiri merupakan kerangka kerja lain untuk mengembangkan dan mengimplementasikan berbagai mekanisme otentikasi. Mekanisme ini termasuk Kerberos, NTLM, dan SPNEGO (Mekanisme Negosiasi GSSAPI yang Sederhana dan Dilindungi): mekanisme pseudo GSSAPI yang memungkinkan klien yang kompatibel dengan GSSAPI untuk menegosiasikan mekanisme GSSAPI mana yang ingin mereka gunakan.

Berikut adalah contoh untuk membantu menjadikan ini lebih jelas (disederhanakan secara brutal demi kejelasan):

  1. Klien terhubung ke server dan berkata, "Saya mendukung SASL! Bagaimana saya harus mengotentikasi diri?"
  2. Server menerima koneksi dan menjawab, "Saya juga mendukung SASL, dan dapat menggunakan mekanisme ini, dalam urutan preferensi menurun: GSSAPI, CRAM-MD5, PLAIN."
  3. Klien menjawab, "Dari pilihan, saya ingin menggunakan GSSAPI."
  4. Server merespons "GSSAPI? Capital. Saya mendukung Kerberos dan NTLM."
  5. Klien menjawab "Ayo gunakan Kerberos. Ini tiket terenkripsi saya dll."
Handyman5
sumber
1
Terima kasih banyak penjelasan yang sangat jelas
mSatyam