Trusted Platform Module 2.0 » History » Version 7
Andreas Steffen, 18.02.2017 17:23
1 | 7 | Andreas Steffen | h1. Trusted Platform Module 2.0 |
---|---|---|---|
2 | 1 | Andreas Steffen | |
3 | 6 | Andreas Steffen | {{>toc}} |
4 | 6 | Andreas Steffen | |
5 | 2 | Andreas Steffen | h2. Connect to a TPM 2.0 device |
6 | 2 | Andreas Steffen | |
7 | 5 | Andreas Steffen | In order to connect to a TPM 2.0 hardware or firmware device, the TSS2 software stack developed by Intel is needed. Because the official Ubuntu *tpm2-tss* package is rather outdated (e.g. since version 0.98 the TCTI interface to the TPM 2.0 resource manager has changed several times), strongSwan is currently based on a recent version directly drawn from the TPM2-TSS git repository https://github.com/01org/TPM2.0-TSS. Avoid any TCTI interface incompatibilities by fetching the latest *tpm2-tools* version from https://github.com/01org/tpm2.0-tools as well. |
8 | 1 | Andreas Steffen | |
9 | 7 | Andreas Steffen | Build and install both the *tpm2-tss* stack and the *tpm2.0-tools*, start the *tpm2-resourcemgr* as a servicein the background and try to connect to the TPM 2.0 by listing e.g. the contents of the SHA-1 bank of PCR registers |
10 | 1 | Andreas Steffen | |
11 | 7 | Andreas Steffen | |
12 | 7 | Andreas Steffen | tpm2_listpcrs -g 0x0004 |
13 | 3 | Andreas Steffen | |
14 | 7 | Andreas Steffen | Bank/Algorithm: TPM_ALG_SHA1(0x0004) |
15 | 3 | Andreas Steffen | PCR_00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
16 | 3 | Andreas Steffen | PCR_01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
17 | 3 | Andreas Steffen | PCR_02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
18 | 3 | Andreas Steffen | PCR_03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
19 | 3 | Andreas Steffen | PCR_04: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
20 | 3 | Andreas Steffen | PCR_05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
21 | 3 | Andreas Steffen | PCR_06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
22 | 3 | Andreas Steffen | PCR_07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
23 | 3 | Andreas Steffen | PCR_08: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
24 | 3 | Andreas Steffen | PCR_09: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
25 | 3 | Andreas Steffen | PCR_10: a9 45 e7 0f 42 a2 79 f0 78 ca d4 64 60 39 39 da 9d 6a d1 a5 |
26 | 3 | Andreas Steffen | PCR_11: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
27 | 3 | Andreas Steffen | PCR_12: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
28 | 3 | Andreas Steffen | PCR_13: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
29 | 3 | Andreas Steffen | PCR_14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
30 | 3 | Andreas Steffen | PCR_15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
31 | 3 | Andreas Steffen | PCR_16: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
32 | 3 | Andreas Steffen | PCR_17: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |
33 | 3 | Andreas Steffen | PCR_18: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |
34 | 3 | Andreas Steffen | PCR_19: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |
35 | 3 | Andreas Steffen | PCR_20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |
36 | 1 | Andreas Steffen | PCR_21: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |
37 | 1 | Andreas Steffen | PCR_22: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |
38 | 1 | Andreas Steffen | PCR_23: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
39 | 1 | Andreas Steffen | |
40 | 7 | Andreas Steffen | A manual showing all *tpm2-tools* functions with their arguments can be found "here":https://github.com/01org/tpm2.0-tools/blob/master/manual. |
41 | 7 | Andreas Steffen | |
42 | 7 | Andreas Steffen | h2. TPM 2.0 Algorithm IDs |
43 | 7 | Andreas Steffen | |
44 | 7 | Andreas Steffen | Hash Algorithms |
45 | 7 | Andreas Steffen | |0x0004 |SHA-1 | |
46 | 7 | Andreas Steffen | |0x000B |SHA-2_256 | |
47 | 7 | Andreas Steffen | |0x000C |SHA-2_384 | |
48 | 7 | Andreas Steffen | |0x000D |SHA-2_512 | |
49 | 7 | Andreas Steffen | |
50 | 7 | Andreas Steffen | Currently available TPM 2.0 devices like the Infineon *Optiga SLB 9670 VQ2.0* hardware TPM or Intel's *PTT* firmware TPM support the SHA-1 and SHA-2_256 algorithms. |
51 | 7 | Andreas Steffen | |
52 | 2 | Andreas Steffen | h2. TPM Private Key Access via VICI Interface |
53 | 1 | Andreas Steffen | |
54 | 7 | Andreas Steffen | Configuration of TPM private key access in *swanctl.conf*: |
55 | 1 | Andreas Steffen | |
56 | 7 | Andreas Steffen | secrets { |
57 | 1 | Andreas Steffen | token_ak_rsa { |
58 | 7 | Andreas Steffen | handle = 81010002 |
59 | 1 | Andreas Steffen | } |
60 | 1 | Andreas Steffen | token_ak_ecc { |
61 | 7 | Andreas Steffen | handle = 81010004 |
62 | 1 | Andreas Steffen | } |
63 | 1 | Andreas Steffen | } |