Özet ve Temel Kimlik Doğrulama arasındaki fark nedir ?
Özet ve Temel Kimlik Doğrulama arasındaki fark nedir ?
Yanıtlar:
Özet Kimlik Doğrulaması kimlik bilgilerini şifreli bir biçimde şu kullanıcılara bir karma işlevi uygulayarak iletir: kullanıcı adı, parola, sunucu tarafından sağlanan nonce değeri, HTTP yöntemi ve istenen URI.
Temel Kimlik Doğrulaması ise şifrelenmemiş base64 kodlaması kullanır .
Bu nedenle, Temel Kimlik Doğrulaması genellikle yalnızca https gibi aktarım katmanı güvenliği sağlandığında kullanılmalıdır.
Tüm kanlı ayrıntılar için RFC-2617'ye bakın.
HTTP Temel Erişim Kimlik Doğrulaması
Temel Kimlik Doğrulama base64 kullanır , kullanıcı adı ve parola bilgilerini içeren şifreleme dizemizi oluşturmak için kodlamasını (şifreleme değil) . HTTP Basic'in SSL üzerinden uygulanması gerekmez, ancak bunu yapmazsanız güvenli değildir. Bu yüzden onsuz kullanma fikrini eğlendirmeyeceğim bile.
Artıları:
Eksileri:
Özet'te - istemcilerin kontrolüne sahipseniz veya SSL kullandıklarından emin olabilirseniz, HTTP Basic iyi bir seçimdir. SSL'nin yavaşlığı, yalnızca bir istekte bulunma hızı ile iptal edilebilir
Temel Kimlik Doğrulama Sözdizimi
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>
HTTP Özet Erişim Kimlik Doğrulaması
Özet Erişim Kimlik Doğrulaması, şifreleme sonucu oluşturmak için karma (yani, küçük parçalara bölünmüş anlamına gelir) yöntemlerini kullanır. HTTP Özet erişim kimlik doğrulaması, aşağıdaki gibi çalışan daha karmaşık bir kimlik doğrulama biçimidir:
Artıları:
Eksileri:
Özetle , HTTP Özet, en az iki saldırıya karşı doğal olarak savunmasızken, SSL üzerinden HTTP Temel şifresi için güçlü şifreleme kullanan bir sunucunun bu güvenlik açıklarını paylaşması daha az olasıdır.
İstemcileriniz üzerinde kontrolünüz yoksa, SSL olmadan Temel kimlik doğrulaması gerçekleştirmeye çalışabilirler ki bu da Digest'ten çok daha az güvenlidir.
RFC 2069 Özet Erişim Kimlik Doğrulama Sözdizimi
Hash1=MD5(username:realm:password)
Hash2=MD5(method:digestURI)
response=MD5(Hash1:nonce:Hash2)
RFC 2617 Özet Erişim Kimlik Doğrulama Sözdizimi
Hash1=MD5(username:realm:password)
Hash2=MD5(method:digestURI)
response=MD5(Hash1:nonce:nonceCount:cnonce:qop:Hash2)
//some additional parameters added
Postacıda şöyle görünüyor:
Not:
(Gönderilen veya alınan paketleri analiz etme aracı) kullanarak iki HTTP kimlik doğrulaması arasındaki farkı görelim Wireshark
.
1. Http Temel Kimlik Doğrulaması
İstemci doğru kullanıcı adı: parolasını Web sunucusu tarafından istendiği gibi yazdığı anda, Web Sunucusu kimlik bilgilerinin doğru olup olmadığını Veritabanında denetler ve kaynağa erişim sağlar.
Paketler şu şekilde gönderilir ve alınır:
İlk pakette Müşteri dolgu kullanılarak kimlik POST kaynakta yöntemi - lab/webapp/basicauth
.in tepki kodunu geri http sunucu şekilde cevap 200 Tamam , yani kullanıcı adı: şifre doğruydu.
Şimdi, Authorization
başlıkta Temel Yetkilendirme ve ardından rastgele bir dize olduğunu gösterir.Bu Dize, kimlik bilgilerinin (iki nokta üst üste dahil ) kodlanmış (Base64) sürümüdür admin:aadd
.
2. Http Özet Kimlik Doğrulaması (rfc 2069)
Şimdiye kadar, Temel Kimlik Doğrulamanın ağ üzerinde düz metin olarak kullanıcı adı: şifre gönderdiğini gördük.Ancak Özet Kimlik Doğrulama Hash algoritmasını kullanarak Şifre HASH'ı gönderdi .
İşte istemci tarafından yapılan istekleri ve sunucudan gelen yanıtı gösteren paketler.
İstemci sunucu tarafından istenen kimlik bilgilerini yazdığı anda, Parola response
bir algoritma kullanılarak dönüştürülür ve daha sonra sunucuya gönderilir, Sunucu Veritabanı istemcinin verdiği yanıtla aynı ise, sunucu kaynağa erişim sağlar , aksi takdirde bir 401 hatası.
Yukarıda Authorization
, response
dizge değerleri kullanılarak hesaplanır Username
, Realm
, Password
, http-method
, URI
ve Nonce
resimde gösterildiği gibi:
Bu nedenle, Özet Kimlik Doğrulaması (MD5 şifrelemesi) içerdiğinden Özet Kimlik Doğrulamanın daha Güvenli olduğunu görebiliriz, bu nedenle paket sniffer araçları, Temel Kimlik Doğru'da tam Parola Wireshark'ta gösterilmesine rağmen Parolayı koklayamaz.
Temel Kimlik Doğrulama base base 64 Kullanıcı adı ve parola bilgilerini içeren şifreleme dizesi oluşturmak için kodlama kullanır .
Özet Erişim Kimlik Doğrulaması, şifreleme sonucunu oluşturmak için sağlama yöntemlerini kullanır