Există o funcție de derivare a cheii/hashing (care are vreo valoare reală) care îndeplinește ambele criterii:
- Încet pentru a calcula hash-ul
- Rapid pentru a verifica hash-ul pe baza șirului de intrare (nu a primit o a doua copie existentă a hash-ului menționat)
Știu că, în general, derivarea cheilor este folosită pentru a preveni forțarea brutală a parolelor, dar aceasta este de obicei pentru a proteja parolele împotriva utilizatorilor interni.
Caut să configurez un sistem de autentificare în care un utilizator trebuie să furnizeze un nume de utilizator, o parolă și un hash Proof of Work al parolei, cu excepția... Aș dori să nu fiu nevoit să fac singur munca pentru a verifica rapid.
Hash-ul nu este comparat cu hash-ul real din baza de date (de exemplu, ar trebui să fie un algoritm de hashing diferit de cel din baza de date.. PBKDF2), acesta este pur și simplu pentru a descuraja forțarea brută, fără a crea și un punct final pe serverul meu. unde un actor rău intenționat poate face serverul meu să lucreze din greu... degeaba.
Este chiar posibil acest lucru? Știu că nu este necesar, dar dacă este posibil, pare o măsură simplă pe care aș putea să o iau pentru a-mi securiza serverele web.