Вопрос: Шифровать данные пациента


Я собираюсь использовать AES_ENCRYPT () и AES_DECRYPT для хранения данных пациента в системе EMR, и мне было интересно, как сохранить ключ. Мне нужно разрешить авторизованным пользователям доступ к этому ключу, чтобы расшифровать и прочитать данные, хранящиеся в записи пациента. Как я могу легко поделиться ключом со многими пользователями, но сохранить этот ключ в безопасности. Любые мысли или примеры приветствуются.


4


источник


Ответы:


Стандартный способ сделать это - создать «системный» ключ для каждого пациента и использовать этот ключ для шифрования данных пациента. Не разделяйте этот ключ с пациентом или с любым из пользователей.

Когда пользователь регистрируется в системе, используйте пароль для создания «пользовательского» ключа для этого пользователя. (Например, возьмите хэш SHA-256 пароля пользователя.) Не храните пароль пользователя  в системе.

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

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

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


Отказ от ответственности: Безопасность жесткая *  и я не криптограф. Кроме того, закон может требовать, чтобы данные пациента были зашифрованы и иным образом защищены в соответствии с определенными стандартами. Перед выполнением Любые  системы безопасности, обратитесь к эксперту и никогда ни при каких обстоятельствах не создавать свою собственную схему безопасности , особенно в тех случаях, когда речь идет о финансовой, медицинской или другой важной информации.

* Брюс Шнайер , Главный специалист по технике безопасности, BT


6