Non sono un esperto di sicurezza ma voglio chiedere dei compromessi in un'API di servizi web che sto progettando per le app mobili.
È un'API che tiene traccia delle posizioni degli utenti, quindi sì, i dati sono ragionevolmente sensibili. Tuttavia, verrà utilizzato dalle applicazioni mobili, quindi credo che la maggior parte delle volte verrà eseguito su reti meno inclini alle intercettazioni.
L'app manterrà le credenziali dell'utente (login e password) crittografate in un database locale. Non sono sicuro di quale sia lo schema di crittografia da utilizzare.
Si accede all'API tramite HTTPS.
Sto considerando un token multiuso di lunga durata o token di una durata breve di breve durata. Più corto (lunghezza) è il migliore, al fine di ridurre l'utilizzo della larghezza di banda. Tuttavia, non sono a conoscenza di come un token debba essere generato correttamente, nel caso in cui alcuni dieci o più byte casuali non siano sufficienti.
Chiedo informazioni sui compromessi, quindi mi piacerebbe ricevere consigli su quanto sia sicura questa strategia nella maggior parte dei casi, ad esempio in situazioni che hanno maggiori probabilità di accadere. Tuttavia, se senti che trascuro i rischi, sentiti libero di enfatizzarlo e suggerire alternative (anche se sarei curioso di sapere fino a che punto potrei arrivare con i compromessi se i dati fossero meno sensibili).