Özet Kimlik Doğrulamasının, kimlik bilgilerini düz metin olarak göndermesi dışında Temel Kimlik Doğrulamadan farkı nedir?
Özet Kimlik Doğrulamasının, kimlik bilgilerini düz metin olarak göndermesi dışında Temel Kimlik Doğrulamadan farkı nedir?
Yanıtlar:
Temel fark, kullanıcı adı ve parolayı kablo üzerinden düz metin olarak göndermeyi gerektirmemesidir. Ayrıca sunucudan tek seferlik bir numara kullandığı için tekrar saldırılara karşı da bağışıktır.
Sunucu, istemciye kullanıcı adı, bölge, parola ve URI isteğiyle birleştirdiği tek seferlik bir kullanım numarası (bir kerelik) verir. İstemci, bir karma anahtar üretmek için tüm bu alanları bir MD5 karma yöntemi aracılığıyla çalıştırır.
Bu hash anahtarını, kimlik doğrulamayı denemek için kullanıcı adı ve bölge ile birlikte sunucuya gönderir.
Sunucu tarafında, bir karma anahtar oluşturmak için aynı yöntem kullanılır, yalnızca tarayıcıya yazılan parolayı kullanmak yerine, sunucu, kullanıcı DB'sinden kullanıcı için beklenen parolayı arar. Bu kullanıcı adı için saklanan şifreyi arar, aynı algoritma ile çalışır ve istemcinin gönderdiği ile karşılaştırır. Eşleşirlerse erişim izni verilir, aksi takdirde 401 Yetkisiz (oturum açma veya başarısız oturum açma yok) veya 403 Yasak (erişim reddedildi) gönderebilir.
Özet kimlik doğrulaması RFC2617'de standartlaştırılmıştır . Bir var Vikipedi'de bunun güzel bir bakış :
Bunu şöyle düşünebilirsiniz:
Kimlik bilgilerinin bir karması tel üzerinden gönderilir.
HA1 = MD5(username:realm:password)
Kimlik bilgilerinin karma HA1'i almanın tek yolu parolayı bilmektir. Sunucu HA1'i biliyor ancak onu oluşturan parolayı bilmiyor. HA1 bir saldırgan tarafından biliniyorsa sisteme girebilir. Yani telden aşağı gönderilmez. Bunu yapmadan önce nonce vb. Temelli başka bir hash yapılır ve bu, sunucuda yapılan benzer bir hesaplama ile uyumlu olmalıdır. Bu nedenle, sunucu HA1'i özel tuttuğu sürece sistem güvenlidir.