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

Алтернатива на хеширания SSN като ключ в MySQL

Мисля, че тази статия може да е много подходящо за това, което правите. Ако наистина искате да „анонимизирате“ SSN от съображения за сигурност и правна отговорност, тогава простото им хеширане не е достатъчно.

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

За да видите защо това е валидно, вземете най-опростения пример, че SSN може просто да приеме две стойности, 0 и 1. Независимо от качеството и силата на хеш функцията, в крайна сметка ще има само два възможни изхода и е лесно да се види кое е кое.

Това е старата игра защо не трябва да хеширате напр. пароли директно, без първо да извършвате предварителна обработка върху тях. Базовите данни просто не съдържат достатъчно ентропия и следователно ще бъдат лесна цел за търсене в предварително изчислена таблица.

В момента, в който вашите SSN номера станат лични и поверителни (те не са във всяка държава, така че простете за глупавия ми въпрос в коментарите :), същите най-добри практики, които се използват и за съхранение на пароли, трябва да са приложими и за вашия конкретен случай, т.е. адаптивен алгоритъм за хеширане, който компенсира липсата на първоначална ентропия, като bcrypt, scrypt и PBKDF2 (който вече беше препоръчан от Маркъс Адамс).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Име на таблица като параметър, използващ подготвен израз на PDO/MySQL

  2. mysql планираното събитие спира да работи веднага щом второто събитие бъде създадено и стартирано

  3. Как да активирате оператора за конкатенация на тръби в MySQL

  4. Hql, Как да напиша заявка за присъединяване между таблици, която има връзка едно към много?

  5. MySql Меко изтриване