Рейтинг:0

Защитите PII при передаче с помощью сравнения хэшей

флаг us

Меня просят предоставить решение для моего внутреннего клиента. Вся сетевая связь является внутренней, и ни приложения, ни их серверы не доступны через Интернет.

  • Приложение REQUESTOR будет иметь список SSN для 1000+ человек, для которых им нужна информация (разный список из 1000+ каждый день).
  • Приложение REPORTER может выполнять запросы SQL и предоставлять форматированный вывод.
  • Приложение DATAOWNER содержит необходимую информацию, хранящуюся в RDBS, включая столбец SSN в виде открытого текста.

REQUESTOR не может напрямую запрашивать информацию у DATAOWNER. Единственный способ, с помощью которого REQUESTOR может запросить информацию, — это URL-адрес REPORTER. Вот где я вхожу.

У меня нет возможности изменить возможности/конфигурацию приложений REQUESTOR или DATAOWNER, кроме предоставления информации REQUESTOR о том, как подготовить и отформатировать URL-адрес.

Я могу создать отчет и настроить REPORTER для приема URL-адреса, например https://REPORTER/TheReport?argument1=123456789 Я не хочу, чтобы SSN в URL-адресе был в виде открытого текста, так как он будет регистрироваться в веб-журналах REPORTER и кто знает, где еще.

Моя идея для решения состоит в том, чтобы REQUESTOR выполнял хэш SHA256 конкатенации SSN и секретного значения, которое периодически меняется, и использовал этот дайджест в URL-адресе. Когда REPORTER получает запрос, он выполняет SQL-запрос к DATAOWNER, например (псевдокод):

выберите [DesiredFields] из таблицы

где SHA256FUNCTION(CONCATENATE([SSNcolumn],<TheSecretValue>)) = $argument1.

Я считаю, что это не увеличивает риск раскрытия SSN, поскольку вся обработка с использованием значений открытого текста происходит на серверах, которые уже имеют доступ к ним в открытом виде. Приложение REPORTER никогда не видит SSN открытого текста напрямую, хотя оно должно передавать выходные данные SQL-запроса, который может включать или не включать SSN. Однако из-за конструкции программного обеспечения REPORTER не сохраняются ни результаты запросов, ни отформатированные выходные данные.

Хотя я знаком с некоторыми аспектами криптографии, я определенно не эксперт. Я был бы признателен за любые комментарии по этому подходу, как хорошие, так и плохие. Спасибо

fgrieu avatar
флаг ng
Легко найти SSN по его хэшу SHA-256, потому что SSN так мало.
флаг us
У меня была такая же мысль. Злоумышленнику будет легко создать таблицу поиска только для SSN. Объединить его с секретным значением перед выполнением хеширования было моей мыслью о том, как снизить этот риск.
bk2204 avatar
флаг fr
Если вам нужен секретный компонент, гораздо лучше использовать HMAC-SHA-256, а не объединять секрет, потому что существует множество способов создания небезопасных подходов с объединением с SHA-256.
флаг in
Глядя на это. Спасибо за предложение, бк.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.