I token JWT sono recentemente diventati un metodo di autenticazione molto popolare nelle applicazioni Web. Mentre questo è uno dei modi più sicuri per proteggere le risorse, e non ci sono alternative sul mercato – tieni presente che ogni rosa ha picchi e ci sono molti rischi potenziali in agguato anche qui. Sono principalmente dovuti a errori di implementazione. Per proteggersi da loro, vale la pena attenersi alle seguenti regole:
- Assicurarsi di utilizzare chiavi di crittografia sufficientemente complesse di almeno 2048 bit.
- Creare una procedura in caso di perdita della chiave di crittografia.
- Le chiavi devono essere conservate in modo sicuro (ad esempio, non devono essere nel codice sorgente).
- Il server deve richiederlo a un metodo di firma specifico in modo che non possa essere modificato sul lato client.
- Verificare che l'implementazione non consenta l'algoritmo di firma "nessuno".
- Verificare che l'implementazione sia sicura di controllare la firma (non accetta una firma vuota e distingue tra le funzioni "verify()" e "decode()" ).
- Verificare che la modalità di debug sia disabilitata e non possa essere applicata sul lato client.
- Non inviare token JWT nell'URL.
- Verificare di non divulgare informazioni riservate nel token JWT.
- Assicurati di proteggerti da un attacco di replay.
- Verificare che la durata del token sia sufficientemente breve e che sia effettivamente controllata correttamente.
- Valutare se è necessaria o meno la funzione di invalidare i singoli token.