| # Local data migration |
| |
| The document of the local data migration of the important secrets that used to |
| maintained by **cryptohome**. |
| |
| # Background |
| |
| Until M84, tpm manager only worked for TPM2.0 case. For TPM1.2 cryptohome |
| used to maintain the following auth values instead of tpm_manager: |
| |
| 1. Owner password. |
| 2. Owner auth delegate. |
| |
| Starting M84, tpm manager is launched for TPM1.2 as well, and the secrets |
| listed above are migrated to the same file where auth values were stored for |
| TPM2.0, which is manipulated by the object `LocalDataStore`. |
| |
| The term "local data" is used for consistency with the object name, which in |
| cryptohome used to be "TPM status" referring to the same thing. |
| |
| # Applicability |
| |
| Since tpm manager works for TPM2.0 since ever, the local data migration is only |
| applicable to TPM1.2. For TPM2.0, local data migration is a no-op. |
| |
| # Sources |
| |
| * [The implementation of local_data_migration] |
| * [The definition of tpm manager local data] |
| * [The definition of legacy tpm status] |
| |
| [The implementation of local_data_migration]: ./server/local_data_migration.cc |
| [The definition of tpm manager local data]: ../system_api/dbus/tpm_manager/tpm_manager.proto |
| [The definition of legacy tpm status]: https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/release-R84-13099.B/cryptohome/tpm_status.proto |