Mysql
 sql >> база данни >  >> RDS >> Mysql

Подобрете хеширането на пароли с произволна сол

Нападател е „разрешен“ за да познавате солта - вашата сигурност трябва да бъде проектирана така, че дори и със знанието за солта да е сигурна.

Какво прави солта?

Солта помага при защитата срещу атаки с груба сила с помощта на предварително изчислени „таблици на дъгата“.
Солта прави грубата сила много по-скъпа (по отношение на времето/паметта) за нападателя.
Изчисляването на такава таблица е скъпо и обикновено се прави само когато може да се използва за повече от една атака/парола.
АКО използвате една и съща сол за всички пароли, нападателят може предварително да изчисли такава таблица и след това с груба сила паролите ви в ясен текст ...
Докато генерирате нова (най-добра криптографично силна) произволна сол за всяка парола, която искате да съхранявате хеша, няма проблем.

АКО искате да засилите допълнително сигурността
Можете да изчислите хеша няколко пъти (хеш хеша и т.н.) - това не ви струва много, но прави атаката с груба сила / изчисляването на "таблици на дъгата" още по-скъпа... моля, не Не измисляйте себе си – има доказани стандартни методи за това, вижте например http://en. wikipedia.org/wiki/PBKDF2 и http://www.itnewb.com/tutorial/Encrypting-Passwords-with-PHP-for-Storage-Using-the-RSA-PBKDF2-Standard

ЗАБЕЛЕЖКА:

Използването на такъв механизъм в наши дни е задължително тъй като "CPU време" (използваемо за атаки като rainbow tables/brute force и т.н.) става все по-широко достъпно (вижте например факта, че облачната услуга на Amazon е сред топ 50 на най-бързите суперкомпютри в света и може да се използва от всеки за сравнително малка сума)!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на MySQL DATE_ADD, 5-дневен интервал

  2. как да прехвърля шестнадесетичния към varchar (datetime)?

  3. Управление на количката и складовите наличности

  4. заявката е изключително бавна след миграция към mysql 5.7

  5. Кое е по-бързо:корелирани подзаявки или присъединяване?