TPM 1.2 versus TPM 2.0 - Cryptographic Support

The table of encryption algorithms below provides a summary; for a more comprehensive list of TPM algorithms, please reference the TCG Algorithm Registry. The list of mandatory algorithms for TPM 2.0 in a PC is defined in the latest PC Client Platform TPM Profile.

 

Algorithm Type

Algorithm Name

TPM 1.2

TPM 2.0

Asymmetric

RSA 1024

Yes

Optional

 

RSA 2048

Yes

Yes

 

ECC P256

No

Yes

 

ECC BN256

No

Yes

Symmetric

AES 128

Optional

Yes

 

AES 256

Optional

Optional

Hash

SHA-1

Yes

Yes

 

SHA-2 256

No

Yes

HMAC

SHA-1

Yes

Yes

 

SHA-2 256

No

Yes

 

TPM 1.2 versus TPM 2.0 - Behavior Differences

TPM 1.2 supports a single "owner" authorization, with an RSA 2048b Endorsement Key (EK) for signing/attestation and a single RSA 2048b Storage Root Key (SRK) for encryption. This means a single user or entity ("owner") has control over both the signing/attestation and encryption functions of the TPM. In general, the SRK serves as the parent for any keys created in TPM 1.2. TPM 1.2 was specified as an opt-in device (see this TCG article for more information regarding the meaning of "opt-in" as it applies to TPM).

TPM 2.0 has the same functionality represented by the EK for signing/attestation and SRK for encryption as in 1.2, but the control is split into two different hierarchies in 2.0, the Endorsement Hierarchy (EH) and the Storage Hierarchy (SH). In addition to the EH and SH, TPM 2.0 also contains a Platform Hierarchy (PH) for maintenance functions, and a Null Hierarchy. Each hierarchy has its own unique "owner" for authorization. Because of this, TPM 2.0 supports 4 authorizations which would be analogous to the single TPM 1.2 "owner".  

In TPM 2.0, the new Platform Hierarchy is intended to be used by platform manufacturers. The Storage and Endorsement hierarchies, and the Null hierarchy will be used by OS's and OS-present applications. TPM 2.0 has been specified in a way that makes discovery and management less cumbersome than 1.2. TPM 2.0 has the capability to support RSA and ECC algorithms for Endorsement Keys and SRK's.

TPM 1.2 vs. 2.0 - Supported Applications and Features:

Feature or Application

TPM 1.2

TPM 2.0

DDP|ST - OTP client

Yes

No*

DDP|Encryption

Yes

Yes

Intel® Trusted Execution Technology ™

Yes

Yes

Microsoft Bitlocker™

Yes

Yes

Microsoft Virtual Smart Card

Yes

Yes

Microsoft Credential Guard™

Yes

Yes

Microsoft Passport™

Yes

Yes

TCG Measured Boot

Yes

Yes

UEFI Secure Boot

Yes

Yes

Microsoft Device Guard ™

Yes

Yes

 

Note: * DDP | ST works on a system configured with TPM 2.0 but does not utilize the TPM 2.0 at this time.  

 

How is Discrete TPM 2.0 different from a firmware TPM (fTPM)?

A firmware-based TPM (fTPM) is a TPM that operates using the resources and context of a multi-function/feature compute device (such as an SoC, CPU, or other similar compute environment).

A discrete TPM is implemented as an isolated, separate function/feature chip, with all necessary compute resources contained within the discrete physical chip package. A discrete TPM has full control of dedicated internal resources (such as volatile memory, non-volatile memory, and cryptographic logic), and it is the only function accessing and utilizing those resources.

A firmware based TPM does not have its own dedicated storage.  It relies on OS and platform services to provide it access to storage within the platform.  One of the implications of not having dedicated storage involves the presence of an Endorsement Key (EK) certificate.  Discrete TPM devices can be delivered by the TPM manufacturer to the platform manufacturer with an EK certificate installed in the TPM storage for the TPM Endorsement Key.  This is not possible with a firmware TPM.  Firmware TPM vendors make certificates available to end users through manufacturer specific process.  To acquire the EK certificate for a system, platform owners need to contact the chipset/CPU vendor for that platform. 

Additionally, a TCG Certified discrete TPM is required to meet compliance and security requirements including hardening of the chip and its internal resources similar to smart cards. TCG compliance verifies the TPM correctly implements the TCG specifications. The hardening required by TCG certification allows a Certified discrete TPM to protect itself against more complicated physical attacks.

OS Support matrix:

OS Vendor Support

OS

TPM 1.2

TPM 2.0

Windows 7

Yes

No (1)

Windows 8

Yes

Yes (2)

Windows 8.1

Yes

Yes (2)

Windows 10

Yes

Yes

RHEL

Yes

Yes (3)(4)

Ubuntu

Yes

Yes (3)(5)

  1. Windows 7 64bit with SP configured in UEFI + CSM boot mode can support TPM 2.0, supported on some platforms
  2. Windows 8 launched with support for TPM 2.0, but only supports SHA-1
  3. Requires Linux upstream kernel version 4.4 or newer. Linux distribution vendors may choose to backport support to older kernels.
  4. RHEL 7.3 and later have basic kernel support. RHEL 7.4 has a tech preview of the userspace tools.
  5. Supported on Ubuntu 16.04 and later.

 

Dell Commercial Platform OS Support

OS

TPM 1.2

TPM 2.0

Windows 7

Yes

No

Windows 8

Yes

No (5)

Windows 8.1

Yes

No (5)

Windows 10

Yes

Yes (6)

RHEL

No (7)

Yes (8)

Ubuntu 14.04

No (7)

No

Ubuntu 16.04

No (7)

Yes (9)

5. Dell supports TPM 2.0 with Windows 8 and 8.1 on a limited number of Tablets and Detachable PC's that support Microsoft Connected Standby.

6. TPM 2.0 support available on all Commercial platforms in Spring 2016, and the factory default TPM mode on Windows 10 is TPM 2.0.

7. TPM 1.2 is not officially support by Dell with Linux except on select IoT platforms.

8. Requires RHEL 7.3 or later. User may need to manually change the TPM mode from 1.2 to 2.0.

9. Dell has collaborated with Canonical on TPM 2.0 support on client systems that will ship with TPM 2.0. This requires that Ubuntu 16.04 ships with the system.

 

Dell Platform Support for TPM 2.0