1

Я играл с командами 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, поэтому я надеюсь, что кто-то сможет объяснить мою простую ошибку :)

0