Login

Da Wikipedia, l'enciclopedia libera.
Nota disambigua.svg Disambiguazione – Se stai cercando di accedere o di registrarti a Wikipedia, vedi Special:Userlogin.
Una classica schermata di ingresso (login) ad un sistema Linux dotato di interfaccia utente grafica (nello specifico Fox desktop)

Il login (spesso anche detto procedura di autenticazione) è un termine utilizzato per indicare la procedura di accesso ad un sistema informatico o ad un'applicazione informatica.

Il termine proviene dalla contrazione di log in, entrata nel log, il registro cronologico degli eventi tipico di qualsiasi sistema informativo. Altri termini corrispondenti sono: logon, log on, signon, sign on, sign in. In italiano può essere tradotto in "accedi".

Costituisce uno dei fondamenti della sicurezza informatica e della riservatezza nelle applicazioni informatiche. Il login si differenzia concettualmente dalla registrazione, o signup, che è la fase preliminare. È inoltre concettualmente opposto al logout.

Componenti di sistema interessati[modifica | modifica wikitesto]

La procedura si basa sull'esistenza, all'interno del sistema, di:

  • un elenco di utenti;
  • la parola chiave di accesso, abitualmente denominata password, per ogni utente;
  • i permessi di accesso. Un elenco di funzioni che l'utente può eseguire. Può non esistere, ma può essere anche molto complesso;
  • la classificazione dell'utente in base ai permessi di accesso, e/o al ruolo che svolge all'interno del sistema;
  • procedure riservate agli amministratori di sistema per gestire queste informazioni;
  • registro degli eventi (log), su cui viene segnata la cronologia degli accessi.

A questo insieme di informazioni, che possiamo considerare minime, possono essere aggiunti dati anagrafici, preferenze di lavoro, ecc. Il tutto è usualmente denominato account utente.

Procedura di accesso[modifica | modifica wikitesto]

Una schermata di login remoto su macchina FreeBSD (effettuata tramite PuTTY)
  • Procedura base, con interfaccia testuale
    1. Il sistema richiede il nome utente (in inglese username o userid)
    2. Colui che desidera entrare digita il proprio nome utente
    3. Il sistema verifica che tale nome utente sia compreso tra quelli previsti. In caso positivo richiede la parola chiave abbinata; in caso negativo risponde con un messaggio di errore e rifiuta l'accesso.
    4. L'utente, già riconosciuto digita la parola chiave (o password)
    5. Il sistema verifica che tale parola chiave corrisponda a quella memorizzata al suo interno: in caso positivo concede l'accesso, segnalando la possibilità di ricevere altri comandi, in caso negativo risponde con un messaggio di errore e rifiuta l'accesso.
  • Procedure più sicura, sempre con interfaccia testuale
    1. Il sistema richiede il "nome utente" (detto anche username o userid)
    2. Chi desidera entrare digita il proprio nome utente
    3. Il sistema chiede la password o parola d'ordine dell'utente
    4. L'utente digita la password
    5. Se uno dei due dati forniti è sbagliato, il sistema segnala l'errore, ma non segnala invece se in esso sia presente il nome utente o la password, in modo da rendere difficoltoso indovinare il nome utente e la password.
  • Procedura con interfaccia grafica
    • Esegue le stesse funzioni, ma raccoglie in un unico passaggio la richiesta di nome utente e password, ad esempio con il tipico form proprio delle applicazioni web. In caso di esito positivo del tentativo di accesso, il sistema risponde generalmente con pagina di benvenuto all'interno del sistema, dell'applicazione o del sito web. Anche in modalità grafica sono previste talvolta procedure semplificate e meno protette. Ad esempio, il nome utente può essere scelto da una lista, oppure il sistema propone automaticamente il nome di un utente predefinito.

In molti casi, per motivi di sicurezza e/o riservatezza, la parola chiave residente nel sistema è crittografata; anche quella digitata dall'utente che richiede l'accesso viene crittografata se il login avviene da remoto.

Quando viene digitata, la password non appare in chiaro sullo schermo: al suo posto, invece, appaiono dei caratteri di altro tipo (tipicamente, dei pallini neri, degli asterischi o altri simboli), per evitare la lettura malevola della password attraverso l'uso dello schermo; a volte non appare nulla, per non rivelare neppure la lunghezza della password. Allo stesso scopo, talvolta il numero di simboli viene modificato dal sistema.

Una criticità comune è lo scarso livello di sicurezza delle password scelte dagli utenti, indovinabili con un'alta probabilità e in poco tempo in caso di attacco informatico. una password non robusta rende del tutto inutile o comunque di scarsa utilità il salvataggio in locale cifrato, così come la trasmissione cifrata di user e password fra utente e i vari server cui si collega.

Molti server Linux/Unix offrono una possibilità di autenticazione semi-automatica tramite crittografia asimmetrica SSH. L'utente genera una coppia di chiavi pubblica e privata, installa la chiave pubblica sui server cui desidera collegarsi (disabilitando il comune login tramite nome utente e password), e protegge con passphrase la chiave privata salvata fisicamente sul proprio computer ed utilizzata per autenticarsi. Alle successive connessioni ad uno dei server della lista preimpostata, l'autenticazione sarà fatta in automatico tra il computer dell'utente e il server.
La chiave pubblica è lo user, mentre la password è la chiave privata (di almeno 128 caratteri alfanumerici), cosa che risolve il ben noto problema della scarsa robustezza delle password scelte dagli utenti. L'utente resta anonimo perché la coppia di chiavi pubblica-privata è generata direttamente da lui, e non da una certification authority terza che dovrebbe prima verificare la sua reale identità.

Bibliografia[modifica | modifica wikitesto]

L'elenco sottostante è composto da soli testi su UNIX, in quanto ambiente nato come multiutente e con molte informazioni pubbliche.

  1. Brian W. Kernighan, Rob Pike: "The UNIX Programming Environment", 1984, Prentice-Hall. ISBN 0-13-937681-X.
  2. S. R. Bourne: "The UNIX System", 1983, Addison-Wesley. ISBN 0-201-13791-7.
  3. Maurice J. Bach: "The Design of the UNIX Operating System", 1986, Prentice-Hall. ISBN 0-13-201757-1. (Traduzione italiana "UNIX: architettura di sistema", 1988, Jackson).
  4. Henry McGilton, Rachel Morgan: "Introducing the UNIX System", 1983, McGraw-Hill. (Traduzione italiana "Il sistema operativo UNIX", 1986, McGraw-Hill Libri Italia, ISBN 88-386-0603-X). (Versione Berkeley).
  5. S. G. Kochan, P. H. Wood: "UNIX Shell Programming", 1985, Hayden.
  6. Stephen Prata: "Advanced UNIX: A programmer's Guide", The Waite Group, 1985, Howard W. Sams & Company (Macmillan). ISBN 0-672-22403-8.
  7. Bill Courington: "The UNIX System: a Sun Technical Report", 1985, Sun Microsystems Inc.
  8. "System V Interface Definition: Issue 2" 1986, AT&T (3 volumi). ISBN 0-932764-10-X.
  9. Rebecca Thomas, Lawrence R. Rogers, Jean L. Yates: "Advanced Programmer's Guide to UNIX System V", 1986, McGraw-Hill. ISBN 0-07-881211-9.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Controllo di autorità GND: (DE4720130-7
Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica