Obsah
Časová náročnost kapitoly: 10 minut
Protokol
se nachází v neautentizovaném stavu pokud bylo s IMAP serverem
navázáno TCP spojení a nebyla autentizace odpuštěna (aby se klient
nemusel autentizovat, musí server v pozdravu odeslat PREAUTH, server
potom přímo po navázání TCP spojení přechází do stavu
autentizovaného).
Klient příkazem AUTHENTICATE indikuje
použitý autentizační mechanismus. Pokud server podporuje zvolený
autentizační mechanismus, provede výměnu autentizačních informací a
autentizuje uživatele. Při autentizaci příkazem authenticate se
vyměňují pouze kódované informace.
Výměna
autentizačních informací se skládá z řady pobídek serveru a odpovědí
klienta, které jsou specifikovány vybraným autentizačním mechanismem.
Pobídky serveru se skládají z pokračování požadavku příkazu ,
odpovědi serveru znakem "+" následovaným řetězcem s
použitým kódováním BASE64. Odpovědi klienta se skládají z řady
řetězců s použitým kódováním BASE64.
parametry: žádné
data: data mohou být vyžadována
výsledek:
OK -
autentizace dokončena, přechází se do stavu autentizovaného
NO -
autentizace neúspěšná, nepodporovaný autentizační mechanismus
BAD -
neznámý příkaz nebo špatný argument
Příklad:
S: * OK KerberosV4
IMAP4rev1 Server
Tato odpověď přichází po navázání TCP
spojení se serverem IMAP, identifikuje, které autentizační mechanismy
server podporuje
C: A001 AUTHENTICATE
KERBEROS_V4
Klient vybere mechanismus, kterým se chce
autentizovat
S: + AmFYig==
C:
BAcAQU5EUkVXLkNNVS5FRFUAOCAsho84kLN3/IJmrMG+25a4DT+nZImJjnTNHJUtxAA+o0KPKfHEcAFs9a3CL5Oebe/ydHJUwYFdWwuQ1MWiy6IesKvjL5rL9WjXUb9MwT9bpObYLGOKi1Qh
S: + or//EoAADZI=
C:
DiAF5A4gA+oOIALuBkAAmw==
S: A001 OK
Kerberos V4 authentication successful
Poznámka:
Konkrétní průběh
autentizace je závislý na konkrétním použitém autentizačním
mechanismu.
Příkaz LOGIN identifikuje uživatele
vůči IMAP serveru. Uživatelské jméno i heslo jsou odeslány v jejich
textové podobě (nejsou šifrovány).
parametry:
Uživatelské jméno
Heslo
data:
nejsou specifikována žádná data pro tento příkaz
výsledek:
OK -
přihlášení dokončeno, přechází se do stavu autentizovaného
NO -
přihlášení neúspěšné, odmítnuto uživatelské jméno nebo heslo
BAD -
neznámý příkaz nebo špatný argument
Příklad:
C: a001 LOGIN SMITH
SESAME
S: a001 OK LOGIN completed
Jaký
je rozdíl mezi příkazy LOGIN a AUTHENTICATE? V jakém stavu protokolu
IMAP je možno je požít, v jakém stavu se protokol IMAP nachází v
případě úspěšného provedení příkazu, v jakém v případě chyby? Pokuste
se použitím programu ETHEREAL odchytit a vyhodnotit komunikaci mezi
serverem v případě přihlášení ke schránce pomocí LOGIN a
AUTHENTICATE. Která metoda je bezpečnější?