Simple Authentication and Security Layer

Simple Authentication and Security Layer (SASL) je obecná metoda pro přidávání nebo zlepšování ověřování v protokolech klient/server. Jeho hlavním účelem je ověřování klientů na serverech. SASL má několik ověřovacích mechanismů pro výměnu ověřovacích informací (obvykle označené jako přihlašovací údaje) a ověřovací systém pro uložení informací o uživatelích. Ověřovací mechanismus SASL řídí výzvy a odpovědi mezi klientem a serverem a to, jak by měly být kódovány při přenosu. Ověřovací systém označuje to, jak server ukládá a ověřuje data.

Volba ověřovacího mechanismu

Klient i server se musí dohodnout na mechanismu ověřování, který budou používat. Např.:

  • PLAIN – Mechanismus PLAIN je nejjednodušší pro používání, ale neobsahuje žádné šifrování přihlašovacích údajů. Současně s mechanismem PLAIN lze používat TLS. Přihlašovací jméno a heslo jsou předávány poštovnímu serveru jako řetězec kódovaný v base64.
  • OTPOTP je mechanismus ověřování používající jednorázová hesla (dříve S/key). Tento mechanismus neposkytuje žádné ověřování, ale nemusí to být nutné, protože každé heslo je dobré jen pro jednu relaci.
  • DIGEST-MD5 – Při použití mechanismu DIGEST-MD5 klient i server sdílí tajné heslo, které není posíláno nikdy přes síť. Výměna ověření začíná výzvou serveru. Klient použije výzvu a tajné heslo pro vygenerování unikátní odpovědi, která by mohla být vytvořena pouze někým, kdo má tajné heslo. Server použije stejné dvě věci, výzvu i tajné heslo, pro vygenerování své vlastní kopie a porovná je. Jelikož skutečné tajné heslo není nikdy odesíláno přes síť, není citlivé na odposlouchávání sítě.
  • KERBEROSKerberos je síťový ověřovací (autentizační) protokol.
  • ANONYMOUS – SASL obsahuje mechanismus ANONYMOUS, který má smysl pro některé protokoly, ale pro SMTP žádnou výhodu nemá. Tento mechanismus je v podstatě používán otevřeným systémem (open relay) a účelem ověřování SMTP je eliminace otevřeného předávání zpráv.

Když se klient připojuje k poštovnímu serveru, server typicky vypisuje všechny mechanismy hesla, které podporuje, v pořadí jejich upřednostňování. Klient zkouší první, který podporuje. Pokud se připojení nepodaří, může být nastaven tak, aby se pokusil použít další mechanismus, dokud se ověření nepodaří. Pokud se klient a server nemohou úspěšně shodnout na společném mechanismu, ověření selže.

Jakmile se server a klient dohodnou na mechanismu, začne ověřovací proces skládající se z jedné nebo více výzev a odpovědi, které jsou určovány dohodnutým mechanismem. Protokol také udává, jak mají být tyto výměny kódovány.

Literatura

  • D.DENT, Kyle. Postfix kompletní průvodce. Praha: Grada, 2005. ISBN 80-247-1029-3.