Copyright (c) 2010-2012 United States Government, as represented by the Secretary of Defense. All rights reserved. November 12 2012 Authors: Matthew Fioravante (JHUAPL), This document describes the operation and command line interface of vtpm-stubdom. See docs/misc/vtpm.txt for details on the vTPM subsystem as a whole. ------------------------------ OPERATION ------------------------------ The vtpm-stubdom is a mini-OS domain that emulates a TPM for the guest OS to use. It is a small wrapper around the Berlios TPM emulator version 0.7.4. Commands are passed from the linux guest via the mini-os TPM backend driver. vTPM data is encrypted and stored via a disk image provided to the virtual machine. The key used to encrypt the data along with a hash of the vTPM's data is sent to the vTPM manager for secure storage and later retrieval. The vTPM domain communicates with the manager using a mini-os tpm front/back device pair. ------------------------------ COMMAND LINE ARGUMENTS ------------------------------ Command line arguments are passed to the domain via the 'extra' parameter in the VM config file. Each parameter is separated by white space. For example: extra="foo=bar baz" List of Arguments: ------------------ loglevel=: Controls the amount of logging printed to the console. The possible values for are: error info (default) debug clear: Start the Berlios emulator in "clear" mode. (default) save: Start the Berlios emulator in "save" mode. deactivated: Start the Berlios emulator in "deactivated" mode. See the Berlios TPM emulator documentation for details about the startup mode. For all normal use, always use clear which is the default. You should not need to specify any of these. maintcmds=<1|0>: Enable to disable the TPM maintenance commands. These commands are used by tpm manufacturers and thus open a security hole. They are disabled by default. hwinitpcr=: Initialize the virtual Platform Configuration Registers (PCRs) with PCR values from the hardware TPM. Each pcr specified by will be initialized with the value of that same PCR in TPM once at startup. By default all PCRs are zero initialized. Value values of are: all: copy all pcrs none: copy no pcrs (default) : copy pcr n : copy pcrs x to y (inclusive) These can also be combined by comma separation, for example: hwinitpcrs=5,12-16 will copy pcrs 5, 12, 13, 14, 15, and 16. ------------------------------ REFERENCES ------------------------------ Berlios TPM Emulator: http://tpm-emulator.berlios.de/