Модный и актуальный сегодня тренд виртуализации и облачных вычислений заставляет снова вернуться к вроде бы уже решенным вопросам построения систем ЗИ и применяемых в них средств ЗИ. Одним из проблемных вопросов стало применение средств криптографической защиты, причем не только в отечественных, но и в зарубежных системах.
Довольно таки интересное обсуждение данного вопроса идет в группе CSA в LinkedIn:
"The major difference in crypto in cloud is Key Management"
"Important to note that in public cloud, there are no good ways to store private keys on tamper evident hardware devices"
"No encryption can guarantee the confidentiality if you don't safeguard the key"
Вкратце - не важно где в облаке вы применяете криптографию. Важно то, что ваша ключевая информация может стать доступной не только вам.
Отсутствие монопольного доступа к оборудованию, на котором развернуто облако, создает угрозы компрометации ключей, использование технологий виртуализации повышают возможности по реализации данных угроз. Помимо этого могут возникнуть сложности с обновлением ключей.
Пути решения проблемы пока что видятся следующие:
- отказ от использования программно реализованных криптопровайдеров;
- отказ от хранения ключей в реестре ОС, в контейнере на жестком диске, на стандартных сменных носителях (USB-flash);
- использование специализированных устройств для хранения ключей и выполнения операций по шифрованию/расшифрованию;
- невозможность извлечения/получения доступа к специализированному устройству (или существенное затруднение, например, только в случае отключения устройства);
- обеспечение возможности удаленной смены ключей (в случае если действующие ключи не скомпрометированы).
Эта схема вполне применима в VPN-шлюзах и устройствах шифрования дисков, но что делать если если необходимо обеспечить криптозащиту контейнера с файлами в виртуальной машине мигрирующей по нескольким серверам? VMware vSphere позволяет "пробрасывать" USB-устройства виртуальной машине, мигрировавшей на другой сервер, но как быть если наше специализированной устройство подключено через другой интерфейс? И можно ли считать доверенными механизмы виртуализации реализующих такой "проброс"? Вполне возможно изменение данных, отправленных на шифрование, или создание копии данных после расшифрования.