In reviewing various TPM programs and libraries, I have noticed that when sealing data to the TPM, a new key is always created (wrapped by the SRK), and that new key is loaded and used in the seal operation. When unsealing, the sub-key must first be loaded (unwrapped) before the unseal operation can be performed.
Is it necessary to create a new key for each sealing operation, or can the SRK be used directly to seal data? If it is necessary, what are the security and/or practical reasons why it is necessary?