Autenticazione mobile con password come param in get request over ssl

4

Sto costruendo un nuovo livello di servizi per un'applicazione mobile esistente. L'applicazione mobile si autentica con il livello dei servizi esistenti fornendo il nome utente e la password come parametri url in una richiesta get al punto finale dell'autenticazione. Succede tutto su ssl.

Inizialmente pensavo che fosse insicuro, ma questo post sembra suggerire che non è insicuro a livello di trasporto SSL con GET e POST . L'unica preoccupazione è come la richiesta viene registrata dal server. Dato che sto scrivendo il lato server e posso controllare la registrazione, è qualcosa di cui dovrei preoccuparmi. Devo insistere sul fatto che il team dell'app cambi il cliente per inviare una richiesta di post per proteggere meglio la password, oppure è necessario?

    
posta AndrewSwerlick 24.04.2015 - 15:44
fonte

1 risposta

7

Sì, insistere per modificare la richiesta su POST.

Il problema principale qui è il fatto che nome utente e password verranno salvati nei log. Come best practice, nessun registro dovrebbe contenere informazioni sensibili anche se sono molto sicure.

Questo è chiaramente specificato in rfc2616 :

15.1.3 Encoding Sensitive Information in URI's

Because the source of a link might be private information or might reveal an otherwise private information source, it is strongly recommended that the user be able to select whether or not the Referer field is sent. For example, a browser client could have a toggle switch for browsing openly/anonymously, which would respectively enable/disable the sending of Referer and From information.

Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol.

Authors of services which use the HTTP protocol SHOULD NOT use GET based forms for the submission of sensitive data, because this will cause this data to be encoded in the Request-URI. Many existing servers, proxies, and user agents will log the request URI in some place where it might be visible to third parties. Servers can use POST-based form submission instead

    
risposta data 24.04.2015 - 16:20
fonte

Leggi altre domande sui tag