Lines Matching +full:can +full:- +full:primary

1 .. SPDX-License-Identifier: GPL-2.0-only
12 ------------
22 -----------------------------------------------
25 interposer which is a simple external device that can be installed in
34 try to insure that if we can't prevent the attack then at least we can
38 reset capability can be controlled by an attacker who has access to
42 ---------------------------
44 Since the attacker can send their own commands to the TPM, they can
60 The first can be thwarted by always doing HMAC protection of the PCR
63 response. However, the second can only really be detected by relying
68 ----------------
77 ---------------------------------------
82 and storage seeds, which can be used to derive asymmetric keys.
88 The mechanism chosen for the Linux Kernel is to derive the primary
102 certifying the null seed primary with that key) which is too complex
103 to run within the kernel, so we keep a copy of the null primary key
104 name, which is what is exported via sysfs so user-space can run the
106 that if the null primary key certifies correctly, you know all your
112 --------------
114 In the current null primary scenario, the TPM must be completely
116 hands to user-space the name of the derived null seed key which can
117 then be verified by certification in user-space. Therefore, this chain
118 of name handoff can be used between the various boot components as
129 ------------------
137 kernel must be created using the null primary key as the salt key
139 derivation. Thus, the kernel creates the null primary key once (as a
141 tpm_chip for every in-kernel use of the TPM. Currently, because of a
142 lack of de-gapping in the in-kernel resource manager, the session must
144 session may also be reused for the in-kernel HMAC, encryption and
148 ----------------
150 For every in-kernel operation we use null primary salted HMAC to
155 Null Primary Key Certification in Userspace
159 primary endorsement key. This document assumes that the Elliptic
163 The first step in the certification is primary creation using the
165 of the generated primary key against the one in the certificate (the
166 public key must match). Note that generation of the EK primary
167 requires the EK hierarchy password, but a pre-generated version of the
168 EC primary should exist at 81010002 and a TPM2_ReadPublic() may be
173 it's name and the EK public key can be used to encrypt a secret using
177 certification of the null primary key whose name the kernel has
188 derived storage primary. The TPM2_Import() is done using a parameter
189 decryption HMAC session salted to the EK primary (which also does not
195 loaded into the TPM and the Storage primary flushed (to free up space
198 The null EC primary is now generated using the Storage profile
204 using the null primary as the object handle and the loaded private key
212 .. _TPM Genie: https://www.nccgroup.trust/globalassets/about-us/us/documents/tpm-genie.pdf
213 …ws Bitlocker TPM: https://dolosgroup.io/blog/2021/7/9/from-stolen-laptop-to-inside-the-company-net…
214 …d Linux disk encryption: https://www.secura.com/blog/tpm-sniffing-attacks-against-non-bitlocker-ta…
215 …l Profile: https://trustedcomputinggroup.org/resource/tcg-ek-credential-profile-for-tpm-family-2-0/
216 …ovisioning Guidance: https://trustedcomputinggroup.org/resource/tcg-tpm-v2-0-provisioning-guidance/