Вопрос или проблема
Я ознакомился с несколькими обсуждениями здесь относительно управления оффлайн корневыми центрами сертификации (CA). Хотя они полезны, ни одно из них не совсем соответствует моему вопросу.
Во-первых, это, предположительно, не будет оцениваться как ‘оффлайн’ корень, если его ключ находится в сетевом HSM, независимо от степени защиты (с помощью PIN-кода, за брандмауэром и т.д.)?
В моем случае физический ноутбук или настольный компьютер, который можно отключить и физически защитить, вероятно, нецелесообразен. Поэтому я думаю о чем-то вроде загрузочной флешки Tails. Загрузившись с этой флешки на хосте, я могу использовать зашифрованный раздел Tails для хранения корневого ключа и, таким образом, выпуска корневого CA из этой среды. Поскольку сертификат онлайн промежуточного подписывающего CA должен быть выдан корнем и находиться в сети (с ключом через HSM), как я могу перенести запрос сертификата на выдачу CA в Tails, чтобы создать сертификат достаточно безопасно? Похоже, что использование sneaker-net является обязательным, и использование USB-накопителей также обязательно.
Есть ли смысл в наличии двух HSM? Один содержит корневой ключ CA, который выключен, кроме случаев, когда он необходим, а другой онлайн для управления ключом сертификата, который выдается?
Публикация CRL корневым CA — это еще один компонент экосистемы, который является сложным.
Еще один аспект, который меня беспокоит, заключается в том, возможно ли создать, насколько это возможно, известный нетронутый экземпляр Tails USB, и безопасно ли его использование на обычном ноутбуке или настольном компьютере? Если флешка будет только для чтения, я не смогу ничего на ней хранить — такого как выданный сертификат. Если она будет с записью, тогда существует вектор для её компрометации с ноутбука/настольного компьютера, на котором она используется.
Я ищу мнения о рабочем процессе использования ‘оффлайн’ корневых CA больше, чем о технических этапах, связанных с этим. Я понимаю, что эти проектные решения зависят от уровня риска и последствий. Руководство и личный опыт очень помогут. Спасибо.
Во-первых, это, предположительно, не будет оцениваться как ‘оффлайн’ корень, если его ключ находится в сетевом HSM, независимо от степени защиты (с помощью PIN-кода, за брандмауэром и т.д.)?
Есть ли причина для такого предположения? Порты HSM не переключаются (по крайней мере, это так в nShield net-HSM). На мой взгляд, оффлайн CA — это CA, который не может быть доступен через сеть и физически защищен. Насколько я знаю, Tails OS не равнозначен HSM.
достаточно безопасно
это слишком широкое понятие. Вам следует уточнить, что означает “достаточно безопасно” для вас.
Есть ли смысл в наличии двух HSM? Один содержит корневой ключ CA, который выключен, кроме случаев, когда он необходим, а другой онлайн для управления ключом сертификата, который выдается?
Один подключенный к сети HSM достаточен (хотя это создает единую точку отказа. Если единственный HSM выйдет из строя, вы в беде) для нормальной работы. HSM поддерживают разбиение (изоляция ключей) с использованием различных техник, таких как набор карт операторов. Имея один набор карт (кворум), вы можете получить доступ только к подмножеству ключей, хранящихся на HSM, а не ко всему HSM.
Если флешка будет только для чтения, я не смогу ничего на ней хранить — такого как выданный сертификат. Если она будет с записью, тогда существует вектор для её компрометации с ноутбука/настольного компьютера, на котором она используется.
Цель безопасного криптографического хранилища — хранить ключи. Программное обеспечение CA устанавливается на стандартную/обычную ОС, Windows, Linux или Mac и выполняет свои рабочие процессы, такие как прием и подпись запросов, подписание CRL, поддержка внутренней базы данных, конфигурация и так далее. Наивысшая ценность CA — это его закрытый ключ, который хранится на безопасном устройстве, таком как HSM. Это означает, что загрузка с пользовательской USB ОС не дает вам никаких преимуществ, так как вы не можете активировать программное обеспечение CA из USB ОС, если такая функциональность не предлагается USB ОС.
Я бы сказал, что Tails USB ОС не решает вашу проблему, и вам следует обратить внимание на технологии HSM.
Ответ или решение
Создание и управление оффлайн корневым центром сертификации (CA) — это важный аспект обеспечения безопасности и управления криптографическими ключами. Ваши вопросы касаются как технических, так и концептуальных аспектов этого процесса.
Оффлайн корневой CA и HSM
-
Оффлайн vs. Онлайн HSM: Вы правильно подметили, что критически важно рассматривать корневой центр сертификации как оффлайн, если его ключ не доступен через сети. Если HSM подключен к сети, даже с хорошими мерами безопасности (например, защитой PIN-кодом и фаерволлом), это создает потенциал для компрометации. В традиционном понимании оффлайн CA не должен иметь доступа к сети в любой момент времени.
-
Физическое устройство: Использование Tails, как вы предлагаете, может предоставить защиту от некоторых угроз, но это не идеальное решение. Tails – это операционная система, ориентированная на конфиденциальность. Однако для выполнения задач CA, таких как создание сертификатов, рекомендуем использовать специализированное аппаратное обеспечение, такое как HSM. HSM обеспечивает безопасное хранилище для ключей и гарантирует, что ключи не покинут его пределы.
Две HSM: хорошее решение?
Использование двух HSM может быть достаточно разумным, если организовать правильный доступ к ним. Один HSM может хранить корневой ключ CA и оставаться отключенным большую часть времени. Второй HSM может быть использован для управления ключами онлайн промежуточного CA. Этот подход позволяет изолировать корневой ключ от сети и обеспечивает дополнительный уровень безопасности.
Однако помните, что наличие одного HSM в сети создает единую точку отказа. Параллельное использование нескольких HSM может помочь предотвратить потерю доступа к ключам.
Процесс создания сертификатов
Для создания сертификата для промежуточного CA, вам необходимо будет перенести запрос на сертификат (CSR) в сектор Tails:
-
Снэкеры (Sneaker-Net): Использование физического носителя (например, USB-накопителя) для безопасной передачи запроса сертификата между вашим промежуточным CA и оффлайн-окружением может быть приемлемым. Убедитесь, что вы используете безопасные и проверенные USB-устройства.
-
Создание CSR: Выполняйте создание CSR на защищенной машине в изолированной среде и затем перенесите файл на USB. Затем используйте Tails для генерации и подписи сертификата с использованием ключа, который хранится в HSM.
Управление CRL
Опубликование списка отозванных сертификатов (CRL) также требует внимания. Вы можете подписать CRL с помощью оффлайн корневого CA после того, как промежуточный CA его создаст. Затем этот список должен быть безопасно опубликован и доступен для проверки.
Безопасность использования Tails
Использование обычного компьютера для работы с Tails может представлять риск, особенно, если он используется для других задач. Безопасный способ использования Tails:
-
Чистая система: Обеспечьте, чтобы используемая незащищенная машина была очищена от любых возможных вредоносных программ.
-
Чтение и запись на USB: Да, создание чтения и записи ограничивает уровень безопасности. Храните критические данные, такие как ключи и выпущенные сертификаты, на защищённом носителе, который не может быть изменен извне.
-
Проверка подлинности: Убедитесь, что Tails, который вы используете, является проверенным и подлинным, чтобы избежать компрометации вашей работы.
Заключение
Ваши опасения по поводу безопасного управления оффлайн корневым CA обоснованы, и наилучший подход зависит от вашей ситуации. Использование HSM в оффлайн и онлайн режимах с безопасной передачей данных, а также тщательные процедуры контроля доступа помогут минимизировать риски. В конечном счете, ваша стратегия должна базироваться на вашем уровне допустимого риска и критичности среды.