Что означает код HRESULT 0x802800A2 (TPM_20_E_BAD_AUTH)?

 
Предыдущий Следующий
TPM_20_E_RESERVED_BITS TPM_20_E_EXPIRED

TPM_20_E_BAD_AUTH

Этот ответ означает, что TPM отклонил пароль или HMAC-авторизацию, но сбой не имеет последствий защиты от перебора, свойственных TPM_20_E_AUTH_FAIL. Это всё равно ошибка доказательства знания, а не свидетельство повреждения ключа, значения PCR или драйвера TPM.

Почему правильный секрет может дать этот код

  • HMAC-авторизация строится не только из секрета: в вычислении участвуют параметры команды, имена дескрипторов, nonce и состояние сеанса.
  • Клиент может повторно использовать контекст сеанса или nonce после их изменения либо привязать сеанс к неправильному авторизуемому дескриптору в команде с несколькими дескрипторами.
  • Политика может требовать значение авторизации через команду политики; передача сеанса политики без необходимого доказательства отличается от простого знания имени объекта.

Как диагностировать

Определите, использовал ли вызывающий код парольный сеанс, HMAC-сеанс или сеанс политики с требованием значения авторизации. Проследите команду и состояние сеанса через тот же стек TPM, который сформировал запрос. Не переключайтесь случайно между пустым и непустым паролем: сначала проверьте публичные атрибуты объекта, настроенную политику и точный авторизуемый дескриптор.

TCG: проверки HMAC и парольной авторизации · tpm2_startauthsession · tpm2_policypassword


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