У меня есть система CRM, основанная на веб-технологиях (perl / MySQL), и мне нужен раздел для HR, чтобы добавить подробности о дисциплинарных мерах и зарплате.
Вся эта информация, которую мы храним в базе данных, должна быть зашифрована, чтобы наши разработчики не могли ее увидеть.
Я думал об использовании шифрования AES, но что мне использовать в качестве ключа? Если я использую пароль менеджера по персоналу, то, если она забудет свой пароль, мы потеряем всю информацию о персонале. Если она изменит свой пароль, то нам придется расшифровать всю информацию и повторно зашифровать с новым паролем, который кажется неэффективным и опасным, и может привести к ужасным ошибкам, если в середине процесса возникнет ошибка.
У меня была идея, что у меня может быть ключ шифрования, который шифрует всю информацию, и использовать пароль менеджера отдела кадров для шифрования ключа. Затем она может изменить свой пароль, все, что ей нравится, и нам нужно только повторно зашифровать ключ. (И без пароля менеджера по персоналу, данные в безопасности)
Но все же существует проблема многопользовательского доступа к зашифрованным данным.
Я мог бы сохранить незашифрованную копию ключа вне сайта и зашифровать ее паролем каждого нового сотрудника отдела кадров. Но тогда я знаю главный ключ, который не кажется идеальным.
Кто-нибудь пробовал это раньше и добился успеха?