Я сейчас создаю сайт для дома престарелых.
Я уже разработал схему для хранения личных данных в моей базе данных, но я хотел бы узнать ваше мнение об этом.
По сути, у меня есть таблица patient
, в которой хранится общедоступная (= не конфиденциальная) информация о пациентах. Некоторая другая информация (например, имя, адрес) является частной и должна храниться в безопасном месте. Я использую пару открытый / закрытый ключ, сгенерированный PHP OpenSSL и отправленный менеджером сайта. Парольную фразу знают только люди, которым разрешен доступ к частным данным (в основном, медицинские работники).
Я хотел бы хранить их в другой таблице. Первый вопрос , BLOB
лучший тип столбца (с MySQL) для хранения двоичных данных. Или я должен преобразовать их (например, с base64
) и сохранить их в столбце VARCHAR
?
Моя patient_secure_data
таблица выглядит так:
id INT AUTO_INCREMENT
patient_id INT (FOREIGN KEY to patient.id)
key VARCHAR(63)
data BLOB
env BLOB
Это таблица значений ключей, где значение запечатано openssl_seal
. Мне нужно сохранить третий параметр ($env_keys
), чтобы иметь возможность расшифровывать данные. Итак, второй вопрос , зачем мне это env_keys
, если при звонке с openssl_open
?
у меня есть пароль
Третий (и последний) вопрос , это безопасная схема базы данных? Я имею в виду, могу ли я гарантировать, что никто без ключевой фразы не сможет увидеть личные данные?
Примечание: Я также буду использовать ту же пару ключей для шифрования файлов, хранящихся на диске. Но базы данных или файлы, я не вижу никаких различий в отношении безопасности.
С уважением,
Гийом.
Извините, если мой язык не идеален, я не являюсь носителем английского языка ... Надеюсь, я дал понять.