Что происходит с запечатанным объектом при его распечатывании в TPM?

Что произойдет, если я распечатаю запечатанный фрагмент данных в TPM? Запечатанные данные все еще существуют?

Например, у меня есть дескриптор запечатанных данных hSealedData, и я делаю TPM_Unseal(hSealedData,...) два раза подряд. Будут ли оба вызова возвращать одни и те же незапечатанные данные?

Я не мог найти документацию об этом.


person user1595304    schedule 05.06.2018    source источник
comment
Что происходит, когда вы пытаетесь это сделать?   -  person President James K. Polk    schedule 05.06.2018


Ответы (1)


Что происходит, так это то, что текущие значения PCR будут сравниваться со значениями PCR, записанными во время запечатывания, и, если они совпадают, объект будет расшифрован и отправлен обратно. С запечатанными данными ничего не произойдет, так как запечатанные данные не хранятся в TPM, они возвращаются пользователю во время запечатывания.

person mnistic    schedule 06.06.2018
comment
И если я запечатаю одни и те же запечатанные данные другими значениями PCR, будет ли первая печать переопределена или обе печати будут действительными? - person user1595304; 11.06.2018
comment
Они оба были бы действительными. Доверенный платформенный модуль не ведет записи о том, что было запечатано (запечатанные данные возвращаются вам), поэтому он не может каким-то образом сделать предыдущую печать недействительной. - person mnistic; 11.06.2018
comment
Спасибо. Если я захочу переопределить предыдущую печать, как я смогу это сделать? Придется ли мне очищать/сбрасывать TPM? - person user1595304; 11.06.2018
comment
Когда вы запечатываете некоторые данные, TPM возвращает вам зашифрованные данные, чтобы вы могли действовать по своему усмотрению. Если вы хотите переопределить его, вы просто удалите эти зашифрованные данные и снова запечатаете исходные данные с новыми значениями PCR. Управление зашифрованными данными зависит от вас, и TPM не имеет к этому никакого отношения. - person mnistic; 11.06.2018