There are dedicated discrete HSMs that can be installed. That&#x27;s what I would do. Or, rather, wouldn&#x27;t. I agree with you that it would be very impractical, unless the platform has a first-class API:<p>Chrome OS uses TPM heavily[1], and iOS has the Security Enclave. The standard TPM API is PKCS#11, so any hardware that speaks it can be used with any software that speaks it.<p>Problem with TPM is that the whole hardware and software stack needs to be secure, which in practice means it needs to be designed top-down with awareness of the TPM, and audited. The secrets must not be cached, written to file system, kept in memory, leaked over network. There are implementations such as Trousers[2], but it&#x27;s more or less just a proof of concept; it may provide additional security, but most likely you&#x27;re just using a very complex lock, and leaving the key under the mat.<p>[1] <a href="https:&#x2F;&#x2F;www.chromium.org&#x2F;developers&#x2F;design-documents&#x2F;tpm-usage#TOC-Protecting-Certain-User-RSA-Keys" rel="nofollow">https:&#x2F;&#x2F;www.chromium.org&#x2F;developers&#x2F;design-documents&#x2F;tpm-usa...</a>
[2] <a href="http:&#x2F;&#x2F;trousers.sourceforge.net&#x2F;man&#x2F;tpmtoken_setpasswd.1.html" rel="nofollow">http:&#x2F;&#x2F;trousers.sourceforge.net&#x2F;man&#x2F;tpmtoken_setpasswd.1.htm...</a>