Хочу шифровать чувствительные данные в некоторых таблицах БД (в моем случае MariaDB). Но появились вопросы:
1. Как хранить ключи шифрования, например, в файлах?
Т.е. понятно что можно кинуть на диск, но в случае компрометации доступа вместе с базой утекает ключ.
Думаю, что наверно правильнее перед запуском БД подключать к системе какой-то удаленный сетевой ресурс (папку), на котором лежит ключ, запускать БД и после запуска отключать этот ресурс. Правильно мыслю?
2. Вроде в
мануале пишут, что можно использовать AWS KMS, но здесь тоже не ясно как обстоит дело с доступом к ключу злоумышленников, получивших доступ к серверу. Или у AWS KMS есть какая-то защита на количество запросов ключа и/или ограничение по времени? К сожалению никогда не работал с KMS.
3. Как обстоят дела с репликацией шифрованных данных? Для слейва используется такой же ключ, что и для мастера?
PS. Речь именно про стандартное шифрование средствами самой БД, а не использование шифрования при sql-запросах.