Что означает код HRESULT 0x80280128 (TPM_20_E_PCR_CHANGED)?

 
Предыдущий Следующий
TPM_20_E_PCR TPM_20_E_UPGRADE

TPM_20_E_PCR_CHANGED

Этот ответ точнее обычного несоответствия PCR. TPM запоминает, что сеанс политики проверил состояние PCR, а позднее, при попытке авторизации, обнаруживает другой счётчик обновлений PCR. Первоначально состояние могло удовлетворять политике, но изменилось в рамках того же сеанса.

Почему это происходит в реальных сценариях

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

Правильное восстановление

Создайте или перезапустите сеанс политики, заново прочитайте состояние PCR, повторно постройте шаги политики и выполняйте повторную попытку только тогда, когда новые измерения всё ещё удовлетворяют требуемой политике. Не воспроизводите защищённую команду с прежним сеансом. Этот ответ отличается от TPM_20_E_PCR: тот код означает невыполнение условия PCR, а этот — изменение состояния после его проверки.

TCG: проверка счётчика обновлений PCR · tpm2_policyrestart · tpm2_policypcr


Нужно найти другой код? Найти другой код состояния или ошибки.