Apa perbedaan antara Otentikasi Digest dan Dasar ?
Apa perbedaan antara Otentikasi Digest dan Dasar ?
Jawaban:
Digest Authentication mengomunikasikan kredensial dalam bentuk terenkripsi dengan menerapkan fungsi hash ke: nama pengguna, kata sandi, server memberikan nilai pertama, metode HTTP dan URI yang diminta.
Sedangkan Otentikasi Dasar menggunakan non-terenkripsi pengkodean base64 yang tidak .
Oleh karena itu, Otentikasi Dasar umumnya hanya digunakan di mana keamanan lapisan transport disediakan seperti https.
Lihat RFC-2617 untuk semua detail berdarah.
Otentikasi Akses HTTP Dasar
Otentikasi Dasar menggunakan pengkodean base64 (bukan enkripsi) untuk menghasilkan string kriptografis kami yang berisi informasi nama pengguna dan kata sandi. HTTP Basic tidak perlu diimplementasikan melalui SSL, tetapi jika Anda tidak melakukannya, itu tidak aman sama sekali. Jadi saya bahkan tidak akan menghibur ide untuk menggunakannya tanpa.
Pro:
Cons:
Dalam Ringkasan - jika Anda memiliki kendali atas klien, atau dapat memastikan mereka menggunakan SSL, HTTP Basic adalah pilihan yang baik. Lambatnya SSL dapat dibatalkan dengan kecepatan hanya membuat satu permintaan
Sintaksis Otentikasi dasar
Value = username:password
Encoded Value = base64(Value)
Authorization Value = Basic <Encoded Value>
//at last Authorization key/value map added to http header as follows
Authorization: <Authorization Value>
Otentikasi Akses HTTP Digest Otentikasi Akses
Digest menggunakan metodologi hashing (yaitu digest cut menjadi potongan-potongan kecil) untuk menghasilkan hasil kriptografi. Otentikasi akses HTTP Digest adalah bentuk otentikasi yang lebih kompleks yang berfungsi sebagai berikut:
Pro:
Cons:
Singkatnya , HTTP Digest secara inheren rentan terhadap setidaknya dua serangan, sedangkan server yang menggunakan enkripsi yang kuat untuk kata sandi dengan HTTP Basic over SSL cenderung berbagi kerentanan ini.
Namun, jika Anda tidak memiliki kendali atas klien Anda, mereka dapat mencoba melakukan otentikasi Dasar tanpa SSL, yang jauh lebih tidak aman daripada Digest.
Sintaks Akses Otentikasi Akses RFC 2069
Hash1=MD5(username:realm:password)
Hash2=MD5(method:digestURI)
response=MD5(Hash1:nonce:Hash2)
RFC 2617 Sintaks Akses Otentikasi Akses
Hash1=MD5(username:realm:password)
Hash2=MD5(method:digestURI)
response=MD5(Hash1:nonce:nonceCount:cnonce:qop:Hash2)
//some additional parameters added
Dalam Postman terlihat sebagai berikut:
catatan:
Mari kita lihat perbedaan antara kedua otentikasi HTTP menggunakan Wireshark
(Alat untuk menganalisis paket yang dikirim atau diterima).
1. Otentikasi Dasar Http
Segera setelah klien mengetik nama pengguna yang benar : kata sandi , seperti yang diminta oleh server-Web, Server-Web akan memeriksa dalam Database jika kredensial benar dan memberikan akses ke sumber daya.
Berikut adalah cara pengiriman dan penerimaan paket:
Dalam paket pertama, Klien mengisi kredensial menggunakan metode POST di sumber daya - lab/webapp/basicauth
. Sebagai gantinya, server membalas kembali dengan kode respons http 200 ok , yaitu nama pengguna: kata sandi sudah benar.
Sekarang, di Authorization
header itu menunjukkan bahwa itu adalah Otorisasi Dasar diikuti oleh beberapa string acak. String ini adalah versi yang dikodekan (Base64) dari kredensial admin:aadd
(termasuk usus besar).
2. Otentikasi Http Digest (rfc 2069)
Sejauh ini kita telah melihat bahwa Otentikasi Dasar mengirimkan username: password di plaintext melalui jaringan .Tapi Digest Tupoksi mengirimkan Hash dari Password menggunakan algoritma Hash.
Berikut adalah paket yang menunjukkan permintaan yang dibuat oleh klien dan respons dari server.
Segera setelah klien mengetik kredensial yang diminta oleh server, kata sandi dikonversi menjadi response
menggunakan algoritma dan kemudian dikirim ke server, jika database server memiliki respons yang sama seperti yang diberikan oleh klien server memberikan akses ke sumber daya , jika tidak kesalahan 401 .
Dalam contoh di atas Authorization
, yang response
string dihitung dengan menggunakan nilai-nilai Username
, Realm
, Password
, http-method
, URI
dan Nonce
seperti yang ditunjukkan pada gambar:
Oleh karena itu, kita dapat melihat bahwa Otentikasi Digest lebih Aman karena melibatkan Hashing (enkripsi MD5), Jadi alat packet sniffer tidak dapat mengendus Kata Sandi meskipun dalam Auth Dasar, kata sandi yang tepat ditampilkan di Wireshark.
Otentikasi Dasar menggunakan basis 64 Pengkodean untuk menghasilkan string kriptografis yang berisi informasi nama pengguna dan kata sandi.
Otentikasi Akses Digest menggunakan metodologi hashing untuk menghasilkan hasil kriptografi