předcházející následující

Internet Message Access Protocol


Kapitola 4. Příkazy neautentizovaného stavu

Obsah

4.1. Příkaz AUTHENTICATE
4.2. Příkaz LOGIN

Č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).

4.1. Příkaz AUTHENTICATE


    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.

4.2. Příkaz LOGIN


    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

4.3. Cvičení


    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ší?




předcházející následující