sysfs-class-tpm 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. What: /sys/class/tpm/tpmX/device/
  2. Date: April 2005
  3. KernelVersion: 2.6.12
  4. Contact: linux-integrity@vger.kernel.org
  5. Description: The device/ directory under a specific TPM instance exposes
  6. the properties of that TPM chip
  7. What: /sys/class/tpm/tpmX/device/active
  8. Date: April 2006
  9. KernelVersion: 2.6.17
  10. Contact: linux-integrity@vger.kernel.org
  11. Description: The "active" property prints a '1' if the TPM chip is accepting
  12. commands. An inactive TPM chip still contains all the state of
  13. an active chip (Storage Root Key, NVRAM, etc), and can be
  14. visible to the OS, but will only accept a restricted set of
  15. commands. See the TPM Main Specification part 2, Structures,
  16. section 17 for more information on which commands are
  17. available.
  18. What: /sys/class/tpm/tpmX/device/cancel
  19. Date: June 2005
  20. KernelVersion: 2.6.13
  21. Contact: linux-integrity@vger.kernel.org
  22. Description: The "cancel" property allows you to cancel the currently
  23. pending TPM command. Writing any value to cancel will call the
  24. TPM vendor specific cancel operation.
  25. What: /sys/class/tpm/tpmX/device/caps
  26. Date: April 2005
  27. KernelVersion: 2.6.12
  28. Contact: linux-integrity@vger.kernel.org
  29. Description: The "caps" property contains TPM manufacturer and version info.
  30. Example output::
  31. Manufacturer: 0x53544d20
  32. TCG version: 1.2
  33. Firmware version: 8.16
  34. Manufacturer is a hex dump of the 4 byte manufacturer info
  35. space in a TPM. TCG version shows the TCG TPM spec level that
  36. the chip supports. Firmware version is that of the chip and
  37. is manufacturer specific.
  38. What: /sys/class/tpm/tpmX/device/durations
  39. Date: March 2011
  40. KernelVersion: 3.1
  41. Contact: linux-integrity@vger.kernel.org
  42. Description: The "durations" property shows the 3 vendor-specific values
  43. used to wait for a short, medium and long TPM command. All
  44. TPM commands are categorized as short, medium or long in
  45. execution time, so that the driver doesn't have to wait
  46. any longer than necessary before starting to poll for a
  47. result.
  48. Example output::
  49. 3015000 4508000 180995000 [original]
  50. Here the short, medium and long durations are displayed in
  51. usecs. "[original]" indicates that the values are displayed
  52. unmodified from when they were queried from the chip.
  53. Durations can be modified in the case where a buggy chip
  54. reports them in msec instead of usec and they need to be
  55. scaled to be displayed in usecs. In this case "[adjusted]"
  56. will be displayed in place of "[original]".
  57. What: /sys/class/tpm/tpmX/device/enabled
  58. Date: April 2006
  59. KernelVersion: 2.6.17
  60. Contact: linux-integrity@vger.kernel.org
  61. Description: The "enabled" property prints a '1' if the TPM chip is enabled,
  62. meaning that it should be visible to the OS. This property
  63. may be visible but produce a '0' after some operation that
  64. disables the TPM.
  65. What: /sys/class/tpm/tpmX/device/owned
  66. Date: April 2006
  67. KernelVersion: 2.6.17
  68. Contact: linux-integrity@vger.kernel.org
  69. Description: The "owned" property produces a '1' if the TPM_TakeOwnership
  70. ordinal has been executed successfully in the chip. A '0'
  71. indicates that ownership hasn't been taken.
  72. What: /sys/class/tpm/tpmX/device/pcrs
  73. Date: April 2005
  74. KernelVersion: 2.6.12
  75. Contact: linux-integrity@vger.kernel.org
  76. Description: The "pcrs" property will dump the current value of all Platform
  77. Configuration Registers in the TPM. Note that since these
  78. values may be constantly changing, the output is only valid
  79. for a snapshot in time.
  80. Example output::
  81. PCR-00: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
  82. PCR-01: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
  83. PCR-02: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
  84. PCR-03: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
  85. PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
  86. ...
  87. The number of PCRs and hex bytes needed to represent a PCR
  88. value will vary depending on TPM chip version. For TPM 1.1 and
  89. 1.2 chips, PCRs represent SHA-1 hashes, which are 20 bytes
  90. long. Use the "caps" property to determine TPM version.
  91. What: /sys/class/tpm/tpmX/device/pubek
  92. Date: April 2005
  93. KernelVersion: 2.6.12
  94. Contact: linux-integrity@vger.kernel.org
  95. Description: The "pubek" property will return the TPM's public endorsement
  96. key if possible. If the TPM has had ownership established and
  97. is version 1.2, the pubek will not be available without the
  98. owner's authorization. Since the TPM driver doesn't store any
  99. secrets, it can't authorize its own request for the pubek,
  100. making it unaccessible. The public endorsement key is gener-
  101. ated at TPM manufacture time and exists for the life of the
  102. chip.
  103. Example output::
  104. Algorithm: 00 00 00 01
  105. Encscheme: 00 03
  106. Sigscheme: 00 01
  107. Parameters: 00 00 08 00 00 00 00 02 00 00 00 00
  108. Modulus length: 256
  109. Modulus:
  110. B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C
  111. 3A B2 92 0C A4 9B 2A 83 EB 5C 12 85 04 48 A0 B6
  112. 1E E4 81 84 CE B2 F2 45 1C F0 85 99 61 02 4D EB
  113. 86 C4 F7 F3 29 60 52 93 6B B2 E5 AB 8B A9 09 E3
  114. D7 0E 7D CA 41 BF 43 07 65 86 3C 8C 13 7A D0 8B
  115. 82 5E 96 0B F8 1F 5F 34 06 DA A2 52 C1 A9 D5 26
  116. 0F F4 04 4B D9 3F 2D F2 AC 2F 74 64 1F 8B CD 3E
  117. 1E 30 38 6C 70 63 69 AB E2 50 DF 49 05 2E E1 8D
  118. 6F 78 44 DA 57 43 69 EE 76 6C 38 8A E9 8E A3 F0
  119. A7 1F 3C A8 D0 12 15 3E CA 0E BD FA 24 CD 33 C6
  120. 47 AE A4 18 83 8E 22 39 75 93 86 E6 FD 66 48 B6
  121. 10 AD 94 14 65 F9 6A 17 78 BD 16 53 84 30 BF 70
  122. E0 DC 65 FD 3C C6 B0 1E BF B9 C1 B5 6C EF B1 3A
  123. F8 28 05 83 62 26 11 DC B4 6B 5A 97 FF 32 26 B6
  124. F7 02 71 CF 15 AE 16 DD D1 C1 8E A8 CF 9B 50 7B
  125. C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B
  126. Possible values::
  127. Algorithm: TPM_ALG_RSA (1)
  128. Encscheme: TPM_ES_RSAESPKCSv15 (2)
  129. TPM_ES_RSAESOAEP_SHA1_MGF1 (3)
  130. Sigscheme: TPM_SS_NONE (1)
  131. Parameters, a byte string of 3 u32 values:
  132. Key Length (bits): 00 00 08 00 (2048)
  133. Num primes: 00 00 00 02 (2)
  134. Exponent Size: 00 00 00 00 (0 means the
  135. default exp)
  136. Modulus Length: 256 (bytes)
  137. Modulus: The 256 byte Endorsement Key modulus
  138. What: /sys/class/tpm/tpmX/device/temp_deactivated
  139. Date: April 2006
  140. KernelVersion: 2.6.17
  141. Contact: linux-integrity@vger.kernel.org
  142. Description: The "temp_deactivated" property returns a '1' if the chip has
  143. been temporarily deactivated, usually until the next power
  144. cycle. Whether a warm boot (reboot) will clear a TPM chip
  145. from a temp_deactivated state is platform specific.
  146. What: /sys/class/tpm/tpmX/device/timeouts
  147. Date: March 2011
  148. KernelVersion: 3.1
  149. Contact: linux-integrity@vger.kernel.org
  150. Description: The "timeouts" property shows the 4 vendor-specific values
  151. for the TPM's interface spec timeouts. The use of these
  152. timeouts is defined by the TPM interface spec that the chip
  153. conforms to.
  154. Example output::
  155. 750000 750000 750000 750000 [original]
  156. The four timeout values are shown in usecs, with a trailing
  157. "[original]" or "[adjusted]" depending on whether the values
  158. were scaled by the driver to be reported in usec from msecs.
  159. What: /sys/class/tpm/tpmX/tpm_version_major
  160. Date: October 2019
  161. KernelVersion: 5.5
  162. Contact: linux-integrity@vger.kernel.org
  163. Description: The "tpm_version_major" property shows the TCG spec major version
  164. implemented by the TPM device.
  165. Example output::
  166. 2