У меня есть интересная проблема шифрования. Я не знаю, можно ли его решить, но здесь идет:
База данных должна содержать конфиденциальную информацию пользователя. Таким образом, информация пользователя должна быть зашифрована (двухстороннее шифрование). Пользователь имеет логин/пароль, и они могут использоваться в двухстороннем шифровании. Теперь шифрование должно быть спроектировано таким образом, что даже администратор, просматривающий таблицы базы данных, не сможет понять информацию пользователя.
Однако дизайн должен заботиться о случаях, когда пользователь может забыть свой пароль. Если пароль используется для шифрования, то забыть пароль означает, что информация потеряна - не требуется. Если сам пароль хранится в базе данных с использованием двухстороннего алгоритма (вместо одностороннего хэша) с ключом, закодированным в script, администратор может обнаружить жесткий код, посмотрев на script (администратор конечно, имеет доступ к script).
Кто-нибудь знает, как выйти из этого?
PS: Это настоящая проблема. Моя компания является фанатом абсолютной безопасности (ISO 27001 и все), и мне было поручено разработать систему с вышеупомянутой функциональностью. Кстати, я использую PHP script и MySQL.
EDIT. Возможно, раньше это было неясно, пользователь должен ежедневно просматривать/редактировать эту информацию пользователя.