oid_registry: Add TCG defined OIDS for TPM keys
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Wed, 27 Jan 2021 19:06:14 +0000 (11:06 -0800)
committerJarkko Sakkinen <jarkko@kernel.org>
Wed, 14 Apr 2021 13:30:30 +0000 (16:30 +0300)
The TCG has defined an OID prefix "2.23.133.10.1" for the various TPM
key uses.  We've defined three of the available numbers:

2.23.133.10.1.3 TPM Loadable key.  This is an asymmetric key (Usually
RSA2048 or Elliptic Curve) which can be imported by a
TPM2_Load() operation.

2.23.133.10.1.4 TPM Importable Key.  This is an asymmetric key (Usually
RSA2048 or Elliptic Curve) which can be imported by a
TPM2_Import() operation.

Both loadable and importable keys are specific to a given TPM, the
difference is that a loadable key is wrapped with the symmetric
secret, so must have been created by the TPM itself.  An importable
key is wrapped with a DH shared secret, and may be created without
access to the TPM provided you know the public part of the parent key.

2.23.133.10.1.5 TPM Sealed Data.  This is a set of data (up to 128
bytes) which is sealed by the TPM.  It usually
represents a symmetric key and must be unsealed before
use.

The ASN.1 binary key form starts of with this OID as the first element
of a sequence, giving the binary form a unique recognizable identity
marker regardless of encoding.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Reviewed-by: David Howells <dhowells@redhat.com>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
include/linux/oid_registry.h

index 4462ed2c18cddb355ed5579059cadc6ec436b0d2..d06988d1565e81a9c993bd4bd34002c52641bd72 100644 (file)
@@ -113,6 +113,11 @@ enum OID {
        OID_SM2_with_SM3,               /* 1.2.156.10197.1.501 */
        OID_sm3WithRSAEncryption,       /* 1.2.156.10197.1.504 */
 
+       /* TCG defined OIDS for TPM based keys */
+       OID_TPMLoadableKey,             /* 2.23.133.10.1.3 */
+       OID_TPMImportableKey,           /* 2.23.133.10.1.4 */
+       OID_TPMSealedData,              /* 2.23.133.10.1.5 */
+
        OID__NR
 };