sql >> Database teknologi >  >> RDS >> Mysql

Forbedre hashing med adgangskode med et tilfældigt salt

En angriber er "tilladt" at kende saltet - din sikkerhed skal være designet på en måde, så den selv med kendskab til saltet stadig er sikker.

Hvad gør saltet?

Salt hjælper med at forsvare sig mod brute-force-angreb ved hjælp af forudberegnet "regnbue-tabeller".
Salt gør brute-force meget dyrere (i tid/hukommelse) for angriberen.
Beregning af en sådan tabel er dyrt og gøres normalt kun, når det kan bruges til mere end ét angreb/adgangskode.
HVIS du bruger det samme salt til alle adgangskoder, kan en angriber forudberegne en sådan tabel og derefter brute-force dine adgangskoder til klartekst ...
Så længe du genererer et nyt (bedst kryptografisk stærkt) tilfældigt salt for hver adgangskode, du vil gemme hashen til, er der ikke noget problem.

HVIS du vil styrke sikkerheden yderligere
Du kan beregne hashen flere gange (hash hashen osv.) - det koster dig ikke meget, men det gør et brute-force-angreb / ​​beregning af "regnbue-tabeller" endnu dyrere... tak ikke opfinde dig selv - der er gennemprøvede standardmetoder til at gøre det, se for eksempel http://en. wikipedia.org/wiki/PBKDF2 og http://www.itnewb.com/tutorial/Encrypting-Passwords-with-PHP-for-Storage-Using-the-RSA-PBKDF2-Standard

BEMÆRK:

At bruge en sådan mekanisme er i disse dage obligatorisk siden "CPU-tid" (anvendelig til angreb som regnbueborde/brute force osv.) bliver mere og mere udbredt (se f.eks. det faktum, at Amazons Cloud-tjeneste er blandt top 50 over hurtigste supercomputere på verdensplan og kan bruges af alle for et forholdsvis lille beløb)!



  1. Kan ikke opdatere række i Sqlite i Android, men giver ingen fejl

  2. gøre telefonnummer klikbart for at ringe til skærmen på mobilen?

  3. Automatisk forøgelse af primærnøgle i SQL Server Management Studio 2012

  4. Hvordan får jeg min, median og max fra min forespørgsel i postgresql?