Main
Documentation
Download
Examples
TSPI API
Links
|
Documentation related to the MTM implementation
On this page we have collected textual material related to the
MTM emulator, and the MTM specification in general.
General:
Manual pages for the added tools:
Installation problems, known shortcomings and features:
- tpm_verifyrimcertandextend command is "missing": The Extend
functionality is included into tpm_verifyrimcert command. There
is an option '-e', which extends PCR value. If a separate command is
needed the following script can be used:
#!/bin/sh
tpm_verifyrimcert -e $@
- AIK initialization in code is incorrect: The module
mtmemu-0.1/tpm/tpm_data.c (function tpm_init_data) is
initializing AIK in MTM permanent data structure field, which
is TPM_KEY structure as tpm_private_key_t structure.
- mtmcontrol init script contains unnecessarily large sleep values:
The script was also used in test scripts, where there is a need to
independently start and stop both mtmd and tcsd daemons without a risk
that connection fails because the connection port is still used by the
previous test.
- mtmcontrol command assumes that the directory $HOME/tmp exists:
If mtmcontrol command is used to start mtmd and tcsd daemons then log
files go to $HOME/tmp directory. If the directory does not exist the
command will fail.
- mtmcontrol start/stop/restart and state file: Mtmcontrol stop
command removes $HOME/tmp/mtm_emulator.data state file when daemons
are stopped. If daemons are started or stopped without mtmcontrol
script remember to remove the state file before starting again.
- Permission problems with TrouSerS if daemons are not run as
root:
TrouSerS installation process sets /etc/tcsd.conf as non-readable
and /var/lib/tpm/system.data as non-writable for others that root or tss.
If TrouSerS is installed by root and the system is started using some
other UID then connection fails, because these files/directories cannot
be accessed.
- Compilation in Ubuntu requires intallation of additional packages::
$ sudo apt-get install libtool
$ sudo apt-get install libgmp3-dev
$ sudo apt-get install libssl-dev
and possibly set --with-gui=none for TrouSerS in configure.
- Logging MTM state:
MTM emulator state after each command is logged into $HOME/tmp/mtmd.log
file. (Note that $HOME/tmp directory must exist.)
- Configuration of MTM features:
MTM/TPM commands can be enabled/disabled in mtmd configuration file
(-c option). Configuration file should list TPM/MTM command keywords
one entry per line with either value 1 (enable) or 0 (disable). Line
entry example: "TPM_ORD_CreateCounter 0" (disable TPM_CreateCounter command).
- MTM emulator is implemented as server daemon:
There is no device entry (/dev/tpm or /dev/mtm) for MTM emulator. It
is implemented as userspace server daemon mtmd and TrouSerS daemon tcsd
is modified to communicate with mtmd using socket interface.
| |