mirror of
https://github.com/stefanberger/swtpm.git
synced 2026-02-05 05:59:18 +00:00
Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface.
Add a test case that checks that swtpm sends a TPM2_Shutdown() to the TPM 2 upon abrupt re-initialization (CMD_INIT) or graceful shutdown (control channel, CMD_SHUTDOWN) of the TPM 2 and avoids a potential dictionary attack (DA) lock-out. A previously sent command failing authorization with DA implications would otherwise trigger the TPM_PT_LOCKOUT_COUNTER to increase by '1' if the TPM 2 was not properly shut down by the client (guest OS) with a TPM2_Shutdown() command. The test case tests whether a TPM2_Shutdown() is now sent before a reset. The defined password-protected NVRAM area has the DA flag set and the test case tries to read from it without providing a password. If we didn't send the TPM2_Shutdown() before the test cases sends the reset (CMD_INIT), then the dictionary attack lockout counter would be increased by one. With the instrumentation in the previous patch the automatically sent TPM2_Shutdown() keeps the counter at 0. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> |
||
|---|---|---|
| .github/ISSUE_TEMPLATE | ||
| debian | ||
| include | ||
| man | ||
| samples | ||
| src | ||
| tests | ||
| .gitignore | ||
| .travis.yml | ||
| autogen.sh | ||
| CHANGES | ||
| configure.ac | ||
| COPYING | ||
| DCO1.1.txt | ||
| INSTALL | ||
| LICENSE | ||
| Makefile.am | ||
| README | ||
| run_tests | ||
| swtpm.spec | ||
| swtpm.spec.in | ||
| TODO | ||
SWTPM - Software TPM Emulator
David Safford safford@us.ibm.com
Stefan Berger stefanb@us.ibm.com
The SWTPM package provides TPM emulators with different front-end interfaces
to libtpms. TPM emulators provide socket interfaces (TCP/IP and Unix) and
the Linux CUSE interface for the creation of multiple native /dev/vtpm* devices.
The SWTPM package also provides several tools for using the TPM emulator,
creating certificates for a TPM, and simulating the manufacturing of
a TPM by creating a TPM's EK and platform certificates etc. Please read
the READMEs in the individual tool's directory under src/.
Please consult the Wiki for information about swtpm:
https://github.com/stefanberger/swtpm/wiki