Basic access authentication: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: accenti e modifiche minori
Xr1blu (discussione | contributi)
Funzionalità collegamenti suggeriti: 1 collegamento inserito.
 
(22 versioni intermedie di 18 utenti non mostrate)
Riga 1:
Nel contesto di una transazione [[Hypertext Transfer Protocol|HTTP]], '''basic access authentication''' è un metodo per fornire credenziali di accesso tra [[client]] e [[server]].
 
== Caratteristiche ==
Riga 5:
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]].
I dati di autenticazione possono essere passati nell'[[url]] come ad esempio:
 
== Sicurezza ==
https://username:password@www.example.com/path
 
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==
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 passowrdpassword. La policy del caching varia da un browser all'altro. Ad esempio, [[Microsoft Internet Explorer]] ha un tempo di cache di 15 minuti.<ref>{{citeCita web | url=httphttps://technet.microsoft.com/en-us/library/cc784037(v=WS.10).aspx | titletitolo=Basic Authentication | publishereditore=Microsoft | yearanno=2005 | accessdateaccesso=March15 15,marzo 2013}}</ref>
 
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:
 
<pre>https://forget:forget@www.example.com/path</pre>
 
Sfortunatamente, questo comportamento non è utilizzabile nei diversi browser né nelle differenti versioni.<ref>{{citeCita web | url=httphttps://stackoverflow.com/questions/31326/is-there-a-browser-equivalent-to-ies-clearauthenticationcache | titletitolo=Is there a browser equivalent to IE's ClearAuthenticationCache? | publishereditore=StackOverflow | accessdateaccesso=March 15, marzo 2013}}</ref> [[Microsoft Internet Explorer]] offersoffre aun dedicatedmetodo [[JavaScript]] methoddedicato toalla clearpulizia cacheddelle credentialscredenziali memorizzate nella cache:<ref>{{citeCita web | url=httphttps://msdn.microsoft.com/en-us/library/hh801226(v=vs.85).aspx | titletitolo=IDM_CLEARAUTHENTICATIONCACHE command identifier | publishereditore=Microsoft | accessdateaccesso=March 15, marzo 2013}}</ref>
 
<pre><script>document.execCommand('ClearAuthenticationCache', 'false');</script></pre>
 
== Protocollo ==
=== Lato Serverserver ===
 
=== Lato Server ===
Quando il server vuole richiedere un'autenticazione, può inviare una richiesta.
Questa richiesta può essere espressa utilizzando il codice HTTP 401 come risposta<ref>http[https://tools.ietf.org/html/rfc1945#section-11 RFC 1945 - Hypertext Transfer Protocol - HTTP/1.0<!-- Titolo generato automaticamente -->]</ref> containingcontenente aun WWW-Authenticateheader HTTP headerchiamato WWW-Authenticate.<ref>http[https://tools.ietf.org/html/rfc1945#section-10.16 RFC 1945 - Hypertext Transfer Protocol - HTTP/1.0<!-- Titolo generato automaticamente -->]</ref>
 
L'header WWW-AuthenthicateAuthenticate per l'autenticazione basic è costruito in questo modo:<ref>http[https://tools.ietf.org/html/rfc1945#section-11.1 RFC 1945 - Hypertext Transfer Protocol - HTTP/1.0<!-- Titolo generato automaticamente -->]</ref>
 
<pre>WWW-Authenticate: Basic realm="''inserire realm''"</pre>
 
=== Lato Clientclient ===
Quando il client vuole inviare le proprie credenziali d'accesso può utilizzare l'header HTTP ''Authorization''.<ref name=autogenerato1>http[https://tools.ietf.org/html/rfc1945#section-10.2 RFC 1945 - Hypertext Transfer Protocol - HTTP/1.0<!-- Titolo generato automaticamente -->]</ref>
 
L'header ''Authorization'' è costruito in questo modo:<ref>http: name=autogenerato1 //tools.ietf.org/html/rfc1945#section-10.2</ref>
 
# Username e password sono uniti nella stringa "username:password"
Line 45 ⟶ 40:
Ad esempio, se il client utilizza 'Aladdin' come username e 'open sesame' come password, l'header è formato nel seguente modo:
 
<pre>Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtBlQWxhZGRpbjpvcGVuIHNlc2FtZQ==</pre>
 
== Note ==
<references/>
 
== Voci correlate ==
* [[Digest access authentication]]
* [[Hypertext Transfer Protocol]]
* [[HTTP]]
* [[HTTP header]]
 
{{Portale|sicurezza informatica}}
==Riferimenti==
 
<references/>
[[Categoria:Sicurezza di rete]]