Как анонимизировать учетные данные в базе данных с помощью CakePHP - PullRequest
0 голосов
/ 02 мая 2018

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

Я использую адрес электронной почты и пароль для идентификации моих пользователей. Но адрес электронной почты не является анонимными данными, например: firstname.lastname@domain.com. Поэтому мне нужно анонимизировать эти данные.

Для других моих данных, таких как lastname или firstname, я использую Security::encrypt($firstname,$privatekey) в CakePHP. (Мой закрытый ключ уникален для каждого пользователя)

Но мой адрес электронной почты используется для входа пользователей, и если я зашифрую его тем же способом, вход в систему больше не будет работать. Я пытался зашифровать письмо, отправленное моей формой входа, но результат не совпадает с первым шифрованием.

Я не могу использовать метод SHA для шифрования этих данных, потому что мне нужно отобразить их в интерфейсе пользователя.

Единственное решение, которое я сейчас нашел бы, - это зашифровать эти данные по-своему, однако это небезопасно

Мои вопросы:

  • Возможно зашифровать эти данные и сохранить работоспособность входа в систему.
  • Если да, как я могу это сделать?

Заранее спасибо!

1 Ответ

0 голосов
/ 02 мая 2018

Первое предложение - используйте рандомизированные имена пользователей, чтобы вы могли также зашифровать электронную почту

Поскольку вы уже шифруете имя, вы также можете зашифровать электронную почту тем же способом.

Итак, как пользователь будет входить в систему?

Решение заключается в создании случайных имен пользователей, которые может использовать каждый пользователь. Таким образом, вы не сможете сделать много выводов, скажем, «user19281a18a7as», поскольку все остальные поля будут зашифрованы.

Вы должны быть осторожны, чтобы имя пользователя было как можно более случайным, поэтому не используйте последовательность для его генерации:)

Как ни странно, ваш экран входа в систему будет больше похож на запрос двух паролей, поскольку имя пользователя также превратилось в нечто, похожее на пароль ...

Предложение два

Используйте API-ключ для входа пользователей. Поэтому вместо того, чтобы иметь некрасивое имя пользователя и пароль, просто ОДИН уродливый длинный API-ключ, который пользователь должен вставить в поле входа в систему.

Это не элегантно, но если они хотят быть анонимными, это цена, которую нужно заплатить:)

Вы даже можете использовать закрытые / открытые ключи, если хотите, так как ваши пользователи знакомы с ними

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...