Dela via


Förstå HTTP-autentisering

Autentisering är en process för att identifiera vem klienten är, vanligtvis för att avgöra om klienten är berättigad att komma åt en resurs. HTTP-protokollet stöder autentisering som ett sätt att förhandla om åtkomst till en säker resurs.

Den första begäran från en klient är vanligtvis en anonym begäran som inte innehåller någon autentiseringsinformation. HTTP-serverappar kan neka den anonyma begäran och ange att autentisering krävs. Serverappen skickar WWW-Authentication-huvuden för att ange vilka autentiseringsscheman som stöds. Den här artikeln beskriver flera autentiseringsscheman för HTTP och beskriver deras stöd i Windows Communication Foundation (WCF).

HTTP-autentiseringsscheman

Servern kan ange flera autentiseringsscheman som klienten ska välja mellan. I följande tabell beskrivs några av de autentiseringsscheman som vanligtvis finns i Windows-program:

Autentiseringsschema beskrivning
Anonym En anonym begäran innehåller ingen autentiseringsinformation. Anonym motsvarar att ge alla åtkomst till resursen.
Grundläggande Grundläggande autentisering skickar en Base64-kodad sträng som innehåller ett användarnamn och lösenord för klienten. Base64 är inte en form av kryptering och bör betraktas som att skicka användarnamnet och lösenordet i klartext. Om en resurs behöver skyddas bör du överväga att använda ett annat autentiseringsschema än grundläggande autentisering.
Digest Sammanfattad autentisering är ett utmaningssvarsschema som är avsett att ersätta grundläggande autentisering. Servern skickar en sträng med slumpmässiga data som kallas nonce till klienten som en utmaning. Klienten svarar med en hash som innehåller användarnamn, lösenord och nonce bland ytterligare information. Den komplexitet som detta utbyte medför och datashashing gör det svårare att stjäla och återanvända användarens autentiseringsuppgifter med det här autentiseringsschemat.

Sammanfattad autentisering kräver användning av Windows-domänkonton. Sammandragssfären är Windows-domännamnet. Därför kan du inte använda en server som körs på ett operativsystem som inte stöder Windows-domäner, till exempel Windows XP Home Edition, med sammanfattad autentisering. När klienten däremot körs på ett operativsystem som inte stöder Windows-domäner måste ett domänkonto uttryckligen anges under autentiseringen.
NTLM NT LAN Manager-autentisering (NTLM) är ett utmaningssvarsschema som är en säkrare variant av sammanfattad autentisering. NTLM använder Windows-autentiseringsuppgifter för att transformera utmaningsdata i stället för det okodade användarnamnet och lösenordet. NTLM-autentisering kräver flera utbyten mellan klienten och servern. Servern och eventuella mellanliggande proxyservrar måste ha stöd för beständiga anslutningar för att slutföra autentiseringen.
Förhandla Förhandla om autentisering väljer automatiskt mellan Kerberos-protokollet och NTLM-autentiseringen, beroende på tillgänglighet. Kerberos-protokollet används om det är tillgängligt. annars provas NTLM. Kerberos-autentisering förbättrar avsevärt NTLM. Kerberos-autentisering är både snabbare än NTLM och tillåter användning av ömsesidig autentisering och delegering av autentiseringsuppgifter till fjärrdatorer.
Windows Live-ID Den underliggande Windows HTTP-tjänsten innehåller autentisering med hjälp av federerade protokoll. Standard-HTTP-transporterna i WCF stöder dock inte användning av federerade autentiseringsscheman, till exempel Microsoft Windows Live ID. Stöd för den här funktionen är för närvarande tillgängligt med hjälp av meddelandesäkerhet. Mer information finns i Federation och Utfärdade token.

Välj ett autentiseringsschema

När du väljer potentiella autentiseringsscheman för en HTTP-server kan några saker övervägas:

  • Överväg om resursen behöver skyddas. Användning av HTTP-autentisering kräver överföring av mer data och kan begränsa samverkan med klienter. Tillåt anonym åtkomst till resurser som inte behöver skyddas.

  • Om resursen behöver skyddas bör du överväga vilka autentiseringsscheman som ger den säkerhetsnivå som krävs. Det svagaste standardautentiseringsschemat som beskrivs här är Grundläggande autentisering. Grundläggande autentisering skyddar inte användarens autentiseringsuppgifter. Det starkaste standardautentiseringsschemat är Förhandla om autentisering, vilket resulterar i Kerberos-protokollet.

  • En server bör till exempel inte finnas i WWW-Authentication-rubrikerna), något schema som den inte är beredd att acceptera eller som inte skyddar den skyddade resursen på ett tillfredsställande sätt. Klienter kan välja mellan något av de autentiseringsscheman som servern presenterar. Vissa klienter är som standard ett svagt autentiseringsschema eller det första autentiseringsschemat i serverns lista.

Se även