Справочная информация:
Я являюсь частью команды разработчиков, которая запускает веб-приложение, которое хранит и извлекает медицинские данные HIPAA.Недавно рекомендации HIPAA были обновлены и теперь включают политику, которая требует, чтобы вся идентифицирующая информация о клиентах была зашифрована, когда она «в состоянии покоя» (хранится в базе данных и не используется).
Исходная проблема
Первая проблема, с которой нам пришлось столкнуться, заключалась в определении наилучшего способа двустороннего шифрования данных таким образом, чтобы обеспечить безопасность данных в случае взлома.
Первоначальное решение
Самым быстрым решением, которое мы придумали, было использование mcrypt для шифрования данных до того, как мы вставили их в базу данных.
Новая проблема
Приложение, которое мы разрабатываем, довольно старое (как и веб-приложения) и использует много процедурного программирования, а также большую поддержку функции mysql_query для вставки, обновления, извлечения и удаления данных.У нас нет времени или роскоши для перевода нашего кода на уровень базы данных абстракции.Таким образом, единственный способ реализовать эту систему шифрования / дешифрования - вручную отредактировать все запросы CRUD, чтобы использовать данные, зашифрованные с помощью mcrypt .Это очень неэффективно и чрезвычайно подвержено ошибкам.
Наше предлагаемое решение
Мы решили, что самый быстрый и эффективный способ решения нашей проблемы - переписать собственный mysql_query работать с одним из наших собственных разработок.В нашей новой функции мы зашифруем / расшифруем значения данных перед отправкой запроса на сервер / возвращением набора результатов.
Куда вы, ребята, приходите
- Является ли это лучшим решением для решения нашей первоначальной проблемы?
- Как вы собираетесь переписать существующую, основную функцию PHP?