История изменений
Исправление vbr, (текущая версия) :
Пока придумал такой сценарий:
-
Грузится подписанный загрузчик, ядро, запускается initrd.
-
Ядро из TPM достаёт ключ для расшифровки раздела. TPM ключ отдаёт только если загрузчик, ядро и initrd совпадают с предыдущей загрузкой. Вроде бы он умеет так делать.
-
Если TPM не отдаёт ключ, юзера спрашивают про пароль.
-
Если юзер перед этим не обновлял ядро, то он обнаруживает атаку злой домработницы (evil maid attack). Т.е. после обновления ядра юзер должен перезагрузиться и ввести пароль один раз, чтобы TPM запомнил новое ядро.
Но я в этом ничего не понимаю и не уверен, что оно всё работает именно так.
Подписи, как таковые, в этом сценарии в общем-то и не нужны, достаточно лишь хеша, но видимо без secure boot нормально это проверить нельзя.
Исходная версия vbr, :
Пока придумал такой сценарий:
-
Грузится подписанный загрузчик, ядро, запускается initrd.
-
Ядро из TPM достаёт ключ для расшифровки раздела. TPM ключ отдаёт только если загрузчик, ядро и initrd совпадают с предыдущей загрузкой. Вроде бы он умеет так делать.
-
Если TPM не отдаёт ключ, юзера спрашивают про пароль.
-
Если юзер перед этим не обновлял ядро, то он обнаруживает атаку. Т.е. после обновления ядра юзер должен перезагрузиться и ввести пароль один раз, чтобы TPM запомнил новое ядро.
Но я в этом ничего не понимаю и не уверен, что оно всё работает именно так.
Подписи, как таковые, в этом сценарии в общем-то и не нужны, достаточно лишь хеша, но видимо без secure boot нормально это проверить нельзя.