Nel contesto di una transazione HTTP, basic access authentication è un metodo per fornire credenziali di accesso tra client e server.

Caratteristiche

modifica

L'implementazione HTTP Basic authentication (BA) è la più semplice tecnica per consentire l'accesso a risorse web con controllo di accesso perché non richiede cookie, id di sessione e pagine di login. Basic authentication utilizza headers HTTP statici e standard che non richiedono handshake eseguito preventivamente.

La Basic authentication è spesso utilizzata dove è necessario avere url verso aree riservate in cui si possa accedere sistematicamente, specialmente negli shell script o nei file batch.

Sicurezza

modifica

L'autenticazione BA non prevede protezione per le credenziali trasmesse. Esse vengono banalmente codificate con base64 ma non criptate o crittografate con hash. È solitamente utilizzata in HTTPS.

Dato che l'header BA deve essere inviato in ogni richiesta HTTP, il browser deve inserire nella cache le credenziali per un periodo di tempo congruo per evitare di dover richiedere ogni volta all'utente la username e la password. La policy del caching varia da un browser all'altro. Ad esempio, Microsoft Internet Explorer ha un tempo di cache di 15 minuti.[1]

Anche se HTTP non fornisce un metodo al web server per indicare al browser di eseguire il logout, ci sono una serie di possibilità utilizzando specifiche caratteristiche nei differenti browser. Una di queste è reindirizzare l'utente verso un URL sullo stesso dominio contenente credenziali volutamente errate:

https://forget:forget@www.example.com/path

Sfortunatamente, questo comportamento non è utilizzabile nei diversi browser né nelle differenti versioni.[2] Microsoft Internet Explorer offre un metodo JavaScript dedicato alla pulizia delle credenziali memorizzate nella cache:[3]

<script>document.execCommand('ClearAuthenticationCache', 'false');</script>

Protocollo

modifica

Lato server

modifica

Quando il server vuole richiedere un'autenticazione, può inviare una richiesta. Questa richiesta può essere espressa utilizzando il codice HTTP 401 come risposta[4] contenente un header HTTP chiamato WWW-Authenticate.[5]

L'header WWW-Authenticate per l'autenticazione basic è costruito in questo modo:[6]

WWW-Authenticate: Basic realm="''inserire realm''"

Lato client

modifica

Quando il client vuole inviare le proprie credenziali d'accesso può utilizzare l'header HTTP Authorization.[7]

L'header Authorization è costruito in questo modo:[7]

  1. Username e password sono uniti nella stringa "username:password"
  2. Il risultato è codificato con base64
  3. Il metodo di autorizzazione (basic) e uno spazio sono inseriti all'inizio della stringa codificata.

Ad esempio, se il client utilizza 'Aladdin' come username e 'open sesame' come password, l'header è formato nel seguente modo:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Note

modifica
  1. ^ Basic Authentication, su technet.microsoft.com, Microsoft, 2005. URL consultato il 15 marzo 2013.
  2. ^ Is there a browser equivalent to IE's ClearAuthenticationCache?, su stackoverflow.com, StackOverflow. URL consultato il 15 marzo 2013.
  3. ^ IDM_CLEARAUTHENTICATIONCACHE command identifier, su msdn.microsoft.com, Microsoft. URL consultato il 15 marzo 2013.
  4. ^ RFC 1945 - Hypertext Transfer Protocol - HTTP/1.0, su tools.ietf.org.
  5. ^ RFC 1945 - Hypertext Transfer Protocol - HTTP/1.0, su tools.ietf.org.
  6. ^ RFC 1945 - Hypertext Transfer Protocol - HTTP/1.0, su tools.ietf.org.
  7. ^ a b RFC 1945 - Hypertext Transfer Protocol - HTTP/1.0, su tools.ietf.org.

Voci correlate

modifica
  Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di sicurezza informatica

📚 Artikel Terkait di Wikipedia

Digest access authentication

sulla rete. Questo meccanismo è più sicuro dell'invio mediante basic access authentication, che utilizza la codifica Base64 anziché usare un algoritmo di

Basic

contengono il titolo. BASIC – linguaggio di programmazione. Basic access authentication – contesto di una transazione HTTP. Basic stamp – microcontrollore

Codici di stato HTTP

fallita o non può essere fornita. Vedi anche basic access authentication e digest access authentication. 402 Payment Required L'intendimento originale

IEEE 802.11

rilevare il dispositivo o la rete a cui connettersi; Autenticazione (Authentication), che consiste nell'identificazione del client e nello scambio di chiavi

OpenID

1º febbraio 2018. «The passphrase (or any other authentication schema like two factor authentication, certificates and so on) only is revealed to the

Evernote

major data breach, Evernote accelerates plans to implement two-factor authentication, in The Next Web, 5 marzo 2013. URL consultato l'11 dicembre 2019. ^

Passaporto biometrico

aggirare il protocollo che garantisce l'autenticità del chip (active authentication) nei passaporti elettronici di prima generazione. La falla che abilita

Lightweight Directory Access Protocol

ha aggiunto il supporto per l'estensibilità ed ha integrato Simple Authentication and Security Layer per lo strato di autenticazione sicura. Ulteriori