Sto lavorando su una webapp che utilizza solo localStorage ( link ) per consentire all'utente di creare un account server e avere cose sincronizzato su HTTPS al server in modo che la webapp non sia incatenata a un singolo computer.
Sto incontrando un pezzo di muro di mattoni su un pezzo di sicurezza. Memorizzando il testo in chiaro, il cookie non crittografato è una bandiera rossa, ma ho difficoltà a creare un accordo che non sembra isomorfo per la memorizzazione di un cookie non crittografato. Se memorizzo un hash della password più un segreto, solo il mio server potrebbe essere in grado di generare un cookie accettato, ma qualcuno che accede al cookie potrebbe anche avere la password di testo in chiaro. Il meglio che ho potuto pensare è di aggiungere la data di scadenza ISO8601 al segreto e alla password, e poi fare in modo che il server la confronti con gli hash calcolati da oggi a n-1 giorni in futuro. E a quel punto ho quello che sembra una copia in chiaro della password che va bene solo per così tanto tempo ... meglio, ma non molto meglio.
Qual è il modo migliore per rendere un cookie che sia trasparente dal punto di vista dell'utente e inutile per un cracker come fattibile?