Microsoft NTLM

Windows Sınaması/Yanıtı (NTLM), Windows işletim sistemini çalıştıran sistemleri içeren ağlarda ve tek başına sistemlerde kullanılan kimlik doğrulama protokolüdür. NTLM, uygulamalara kimlik doğrulaması, bütünlük ve gizlilik sağlayan bir güvenlik paketidir . Windows etki alanındaki veya tek başına sistemlerdeki kullanıcıların ve bilgisayarların kimliğini doğrulamak için kullanılır.

NTLM kimlik doğrulaması

Microsoft Kerberosgüvenlik paketi , ağdaki sistemlere NTLM'den daha fazla güvenlik ekler. Microsoft Kerberos tercih protokolü olsa da NTLM hala desteklenmektedir. NTLM, tek başına sistemlerde oturum açma kimlik doğrulaması için de kullanılmalıdır. Kerberos hakkında daha fazla bilgi için bkz. Microsoft Kerberos .

NTLM kimlik bilgileri, etkileşimli oturum açma işlemi sırasında elde edilen verileri temel alır ve bir etki alanı adı, kullanıcı adı ve kullanıcı parolasının tek yönlü karmasından oluşur. NTLM, kullanıcının parolasını kablo üzerinden göndermeden kullanıcının kimliğini doğrulamak için şifreli bir sınama/yanıt protokolü kullanır. Bunun yerine, kimlik doğrulaması isteyen sistemin güvenli NTLM kimlik bilgilerine erişimi olduğunu kanıtlayan bir hesaplama gerçekleştirmesi gerekir.

Ağ üzerinden etkileşimli NTLM kimlik doğrulaması genellikle iki sistem içerir: kullanıcının kimlik doğrulaması istediği istemci sistemi ve kullanıcının parolası ile ilgili bilgilerin tutulduğu bir etki alanı denetleyicisi. Zaten oturum açmış bir kullanıcının sunucu uygulaması gibi bir kaynağa erişmesine izin vermek için gerekli olabilecek, etkileşimsiz kimlik doğrulaması genellikle üç sistem içerir: istemci, sunucu ve sunucu adına kimlik doğrulama hesaplamaları yapan bir etki alanı denetleyicisi.

NTLM etkileşimsiz kimlik doğrulaması

Aşağıdaki adımlarda NTLM'nin etkileşimsiz kimlik doğrulamasının ana hattı gösterilir. İlk adım kullanıcının NTLM kimlik bilgilerini sağlar ve yalnızca etkileşimli kimlik doğrulaması (oturum açma) işleminin bir parçası olarak gerçekleşir. Kalan adımlar, kimlik doğrulama işlemini tamamlamak için istemci, sunucu ve etki alanı denetleyicisi tarafından gerçekleştirilir.

  1. (Yalnızca etkileşimli kimlik doğrulaması) Kullanıcı bir istemci bilgisayara erişir ve bir etki alanı adı, kullanıcı adı ve parola sağlar. İstemci, parolanın kriptografik karmasını hesaplar ve gerçek parolayı siler.
  2. İstemci, kullanıcı adını sunucuya gönderir ( düz metin olarak).
  3. Sunucu, sınama veya nonce olarak adlandırılan 8 baytlık rastgele bir sayı oluşturur ve istemciye gönderir.
  4. İstemci bu sınamayı kullanıcının parolasının karmasıyla şifreler ve sonucu sunucuya döndürür. Bu, yanıtı olarak adlandırılır.
  5. Sunucu, etki alanı denetleyicisine aşağıdaki üç öğeyi gönderir:
    • Kullanıcı adı
    • İstemciye gönderilen sınama
    • İstemciden alınan yanıt
  6. Etki alanı denetleyicisi, güvenlik hesabı yöneticisi veritabanından kullanıcı parolasının karması almak için kullanıcı adını kullanır. Sınamayı şifrelemek için bu parola karması kullanılır.
  7. Etki alanı denetleyicisi, hesapladığı şifrelenmiş sınamayı (6. adımda) istemci tarafından hesaplanan yanıtla (4. adımda) karşılaştırır. Bunlar aynıysa, kimlik doğrulaması başarılı olur.

Uygulamanız NTLM güvenlik paketine doğrudan erişmemelidir; bunun yerine , Anlaşma güvenlik paketini kullanmalıdır. Anlaşma, uygulamanızın kimlik doğrulamasında yer alan sistemler tarafından destekleniyorsa daha gelişmiş güvenlik protokollerinden yararlanmasını sağlar. Şu anda, Anlaşma güvenlik paketi Kerberos ile NTLM arasında seçim yapmakta. Anlaşma, kimlik doğrulamasında yer alan sistemlerden biri tarafından kullanılamadığı sürece Kerberos'ı seçer.

Microsoft Kerberos