Хеширование SSN и другой информации ограниченного домена

В настоящее время я работаю над приложением, в котором мы получаем личную медицинскую информацию. Одна из самых больших проблем связана с SSN. В настоящее время мы не используем SSN ни для чего, но в будущем мы хотели бы иметь возможность использовать его для уникальной идентификации пациента в нескольких учреждениях. Единственный способ, которым я могу убедиться, чтобы сделать это надежно, через SSN. Тем не менее, мы (в дополнение к нашим клиентам) ДЕЙСТВИТЕЛЬНО не хотим хранить SSN.

Естественно, я подумал о том, что SHA просто его хэширует, поскольку мы просто используем его для идентификации. Проблема в том, что если злоумышленник знает проблемный домен (SSN), он может сосредоточиться на этом домене. Поэтому гораздо проще рассчитать миллиард SSN, чем практически неограниченное количество паролей. Я знаю, что должен использовать соль сайта и соль для каждого пациента, но могу ли я что-то еще сделать, чтобы предотвратить раскрытие SSN злоумышленником? Вместо SHA я планировал использовать BCrypt, поскольку в Ruby есть хорошая библиотека, которая автоматически обрабатывает масштабируемую сложность и соление.

Он не будет использоваться в качестве пароля. По сути, мы получаем сообщения от многих учреждений, и каждый описывает пациента. Единственная вещь, близкая к глобально уникальному идентификатору пациента, это номер SSN. Мы собираемся использовать хеш для идентификации одного и того же пациента в нескольких учреждениях.

Ответы на вопрос(3)

Ваш ответ на вопрос