I was wondering ... if say you're using something like AES(symmetric based), while you can use it to protect data, encrypting it. How do you protect the key used to encrypt the data? Where should you store it? How should you retrieve it?

I was wondering ... if say you're using something like AES(symmetric based), while you can use it to protect data, encrypting it. How do you protect the key used to encrypt the data? Where should you store it? How should you retrieve it?
The typical answer would be TPM, but based on recent Intel CPU flaws it's probably insecure.
Another option would be Yubikey. You may have a look here.