Я играл с командами TPM 2.0, используя инструменты из https://github.com/tpm2-software/tpm2-tools на fedora 29. Я попытался стать владельцем tpm на примере теста системной интеграции, найденного в ветке tpm2-tools 3.1.3. Тест выглядит следующим образом и работает как положено:
ownerPasswd=abc123 endorsePasswd=abc123 lockPasswd=abc123 new_ownerPasswd=newpswd new_endorsePasswd=newpswd new_lockPasswd=newpswd onerror() { echo "$BASH_COMMAND on line ${BASH_LINENO[0]} failed: $?" exit 1 } trap onerror ERR tpm2_takeownership -c tpm2_takeownership -o $ownerPasswd -e $endorsePasswd -l $lockPasswd tpm2_takeownership -O $ownerPasswd -E $endorsePasswd -L $lockPasswd -o $new_ownerPasswd -e $new_endorsePasswd -l $new_lockPasswd tpm2_takeownership -c -L $new_lockPasswd
Но если я делаю это вручную и пытаюсь использовать неверный пароль, чтобы очистить владельца, я получаю сообщение об ошибке (Это из чистого заново изготовленного состояния симулятора tpm).
[laped@localhost system]$ tpm2_takeownership -o ownerpass -e endorsepass -l lockpass [laped@localhost system]$ tpm2_takeownership -c -L lockpass [laped@localhost system]$ tpm2_takeownership -o ownerpass -e endorsepass -l lockpass [laped@localhost system]$ tpm2_takeownership -c -L lockpass2 ERROR: Clearing Failed! TPM error code: 0x98e ERROR: Unable to run tpm2_takeownership [laped@localhost system]$ tpm2_takeownership -c -L lockpass ERROR: Clearing Failed! TPM error code: 0x921 ERROR: Unable to run tpm2_takeownership
У меня вопрос, что происходит и как я могу очистить владение? Кажется, что код ошибки 0x921 является защитой блокировки DA. Я пытался с помощью:
[laped@localhost system]$ tpm2_dictionarylockout -c -P lockpass ERROR: 0x921 Error clearing dictionary lockout. ERROR: Unable to run tpm2_dictionarylockout
Поэтому я не могу понять, как вывести TPM из этого состояния, чтобы очистить владение. Я нахожу странным, что одна неверная команда может привести меня в это состояние. Я довольно новичок в мире TPM, поэтому я надеюсь, что кто-то сможет объяснить мою простую ошибку :)