Вопрос или проблема
Итак, вопрос в следующем: если мы перезагрузим операционную систему и захотим подписать что-то, используя TPM. Допустим, мы хотим обеспечить безопасность загрузочной среды, используя криптоключ по политике PCR7. Безопасно ли использовать криптоключ без политики вместе с криптоключом по политике PCR7?
В более формальном виде:
- В программе мы хотим использовать TPM для подписи чего-то. Во время его инициализации используем криптоключ по политике PCR7, чтобы проверить, что загрузочная среда не изменилась.
- Затем программа переключается на использование ключа без политики, чтобы начать свою работу. (Выполняет всякие операции: подписка, шифрование, дешифрование …) Причина, по которой я хочу использовать это, заключается в том, что я заметил, что ключ без политики имеет гораздо лучшую производительность по сравнению с ключом по политике PCR.
Ответ или решение
Использование ключа без политики PCR после верификации ключа с политикой PCR7 может быть вариантом, но имеет свои нюансы, которые следует учитывать.
Базовые аспекты:
-
Понимание PCR и TPM: PCR (Platform Configuration Register) — это регистры, которые помогают удостовериться, что состояние платформы (например, состояние ОС) не было изменено. Ключ с политикой PCR зависит от состояния PCR на момент использования. Если значение PCR совпадает с ожидаемым, то его использование считается безопасным.
-
Подход к использованию ключей:
- Вы правильно отметили необходимость использования ключа с политикой PCR7 для проверки целостности среды загрузки. Это позволяет убедиться, что программное обеспечение не было изменено, начиная с загрузки системы.
- После успешной проверки среды с использованием ключа с политикой PCR7, можно использовать ключи без политики для дальнейших операций (например, для подписывания, шифрования и дешифрования).
Безопасность и производительность:
-
Использование ключа без политики: Ключи без политики являются менее безопасными, поскольку они не подвержены проверке состояния платформы. Однако, если вы уверены, что состояние системы после проверки с помощью политики PCR7 не изменилось, использование не-PCR ключа может быть оправданным и позволит повысить производительность.
-
Риски: Главное, что нужно учитывать, это — изменения во времени между верификацией ключа с политикой PCR7 и использованием ключа без политики. Если система была скомпрометирована в это время, использование не-PCR ключа может привести к уязвимости. Поэтому важно реализовать дополнительные меры безопасности и мониторинга.
-
Сценарий изменений: Убедитесь, что программа, использующая ключ без политики, не может быть изменена или подвержена стороннему вмешательству после проверки с помощью PCR7. Также стоит рассмотреть использование других механизмов защиты, таких как временные метки или дополнительные подтверждения целостности.
Рекомендации:
-
Протоколы безопасности: Разработайте строгие протоколы для управления состоянием системы и использования ключей. Лишь после тщательной проверки переходите к использованию ключей без политики.
-
Тестирование и аудит: Регулярно проводите тестирование и аудит использования ключей, чтобы гарантировать их безопасность и целостность в вашей экосистеме.
В целом, вы можете использовать ключи без политики, но только при соблюдении всех мер предосторожности и в условиях строго контролируемой среды после успешной верификации с использованием ключа с политикой PCR7.