Token generato a caso contro token Web JSON

9

Sto cercando di proteggere l'accesso al mio server web.

Ho implementato un'autenticazione del token web JSON dove ho generato casualmente una chiave segreta e l'ho associata a quell'utente. La chiave segreta verrà quindi utilizzata per codificare il token Web JSON. Quindi l'utente utilizzerà il token Web JSON per accedere al mio server web.

Stavo anche pensando a questo metodo più semplice. C'è un motivo per non generare casualmente una chiave e associare l'utente a quello. Quindi autenticare con quello?

    
posta Big yellow duck 06.08.2015 - 20:30
fonte

1 risposta

7

In entrambi i casi va bene, dipende solo se vuoi che l'autenticazione sia stateless.

Vantaggi dei JWT:

  • Stateless.
  • Poco o nessun sovraccarico del database.
  • I singoli componenti back-end possono validare il token isolatamente, semplicemente conoscendo la chiave segreta.

Svantaggi:

  • Poiché lo stato di autenticazione è archiviato lato client, non è possibile invalidare gli accessi lato server.

A seconda della propensione al rischio della tua applicazione, questo potrebbe essere uno svantaggio sufficiente per spostare tutta la logica di autenticazione sul lato server.

Si noti che è possibile combinare i due e disporre del token autenticato fornito lato client lato server (ovvero il token all'interno del JWT è convalidato da un MAC e il token stesso è memorizzato in un database). Questo protegge dalla situazione in cui la tua tabella di sessione viene esposta da un attacco in quanto un utente malintenzionato non può utilizzare gli identificatori di sessione direttamente per dirottare una sessione senza conoscere la chiave segreta utilizzata per convalidare il MAC.

    
risposta data 10.08.2015 - 12:40
fonte

Leggi altre domande sui tag