| 
         
xense-devel
RE: [Xense-devel] Run vTPM in its own VM?
 
| 
 Current, I guess they are "trusted," but this is an 
artifact of Xen not yet having a measurement infrastructure for measuring 
domains that get launched. It is not the intention to have these domains be 
implicitly trusted. 
  
-Vinnie 
  
 Are DomU1vTPM and DomU2vTPM 
'trusted' or are these domains also implementing a transitive trust model with 
 integrity measurements taken inside of them? 
  -- Stefan 
  xense-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 09/14/2006 02:30:40 
PM:
  > No, there is only 1 vtpm_manager per platform. As you noted the 
vTPMs > have a VTPM_MULTI_VM switch. This switch does 2 things. 1) 
determines if > it reads vTPM commands from a backend or from a FIFO, and 
2) if it sends > vtpm control commands to the manager via a tpm frontend 
or another FIFO. >  > So in multivm mode, it looks like the 
following (which will either clear > things up, or completely confuse 
them). >  >                 
        |----- DomU1vTPM ---| |----- DomU1 ----| > 
                      
/--> FE ~ vtpmd ~ BE <---> FE ~ vtpm drv | > |----- Dom 0 ------| 
 | |-------------------| |----------------| > vtpm_managerd ~ BE 
<--+ >                   
    | |----- DomU2vTPM ---| |----- DomU2 ----| >     
                  \--> FE ~ 
vtpmd ~ BE <---> FE ~ vtpm drv | >         
                |-------------------| 
|----------------| >  >  >           
            ^           
           ^ >         
              |         
             | >       
         save/load cmds         
    tpm cmds >  >  > The vtpm still has this code in 
it. The missing code is in the manager. > To support both models the 
manager had become very complex. In the multi > vm case, only control 
commands came in. In the single vm case, the > manager received tpm 
commands or control commands (open/close vtpm), > handle the control 
commands and forward tpm commands to a vtpm, while > accepting control 
commands (save/load nv) on a different channel. This > was all done 
through 1 command handler with a mess of #ifdefs.  >  > I rewrote 
the handler routines and threading routines to be more > generalized. Now 
everything is mode agnostic to the number of vms except > manager/vtpmd.c. 
This file defines the necessary threads, FIFO, and > handlers instances. 
The current file is a couple hundred lines and sets > everything up for 
single vm. I plan on writing another vtpmd.c which > sets the manager up 
for multivm mode. I will then use some sort of a > selector to determine 
which file to compile based on your mode or maybe > build 2 apps. This is 
why I call it incomplete. >             
                      
            > -Vinnie >  > 
-----Original Message----- > From: Fischer, Anna 
[mailto:anna.fischer@xxxxxx]  > Sent: Thursday, September 14, 2006 10:27 
AM > To: Scarlata, Vincent R; Xense-devel@xxxxxxxxxxxxxxxxxxx > 
Subject: RE: [Xense-devel] Run vTPM in its own VM? >  > Thanks for 
your reply. >  > But do I understand it correctly that in your 
design you will have a > vTPM manager running in each vTPM BE domain? And 
you have the vTPM then > talking again through FIFOs to the vTPM manager 
who talks to the BE?  >  > However, the code seems to be designed so 
that the vTPMs talk directly > to the BE. Is that what you mean with that 
the code for this > configuration is broken? According to the currently 
implemented design I > don't see how such a direct communication can work 
as for example > capabilities like saving and loading NVRAM won't work 
without having the > vTPM manager in between, right? >  > 
Anna >  > -----Original Message----- > From: Scarlata, Vincent 
R [mailto:vincent.r.scarlata@xxxxxxxxx]  > Sent: Donnerstag, 14. September 
2006 17:59 > To: Fischer, Anna; Xense-devel@xxxxxxxxxxxxxxxxxxx > 
Subject: RE: [Xense-devel] Run vTPM in its own VM? >  > Sorry Anna, 
the documentation is both slightly out of date, and slightly > ahead of 
its time. :-) >  > The vtpm manager was architected to allows each 
vtpm instance to run in > its own VM, but during the last restructuring of 
the code, support for > this configuration was broken. It's now 
incomplete. Due to other > commitments, I won't be able to get back to 
this immediately, I hope to > submit a patch to re-enable this config 
options within a month-ish. >  > The way it looked and will look 
again is the following. A standard > config would be a Dom0, DomU1 guest, 
DomU1vTPM vtpm domain, ... DomUn, > DomUnvTPM. DomU1 has a tpm FE, for 
which DomU1vTPM has the BE. Similarly > DomU2 has a tpm FE, for which 
DomU2vTPM has the BE. This allows direct > communication between the DomU 
and it's vTPM, as you mention below. Then > all the DomU*vTPM domains have 
tpm FEs, for which the domain housing the > vtpm manager is the BE. By 
default this is Dom0, but provided that the > tpm device can be assigned 
to a different domain, this can be put in any > domain. The vtpm_manager's 
domain has the tpm driver. >  > This is a little heavier weight than 
running everything in dom0, but it > removes the manager from being a 
bottle neck in tpm access, since all > DomUs can access their vTPMs 
simultaneously (though the manager can > still only handle 1 vtpm request 
at a time to save internal states). > Also isolation between vtpms is 
established. >  > Do you need this functionality, or are you just 
doing thought > experiments? >  > Hopes this answers your 
questions, >  > -Vinnie Scarlata >   Trusted Platform 
Lab >   Corporate Technology Group >   Intel 
Corporation >  > -----Original Message----- > From: 
xense-devel-bounces@xxxxxxxxxxxxxxxxxxx > 
[mailto:xense-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Fischer, > 
Anna > Sent: Thursday, September 14, 2006 2:01 AM > To: 
Xense-devel@xxxxxxxxxxxxxxxxxxx > Subject: [Xense-devel] Run vTPM in its 
own VM? >  > The README of the current Xen unstable version says 
that setting > VTPM_MULTI_VM allows running each vTPM in its own VM. 
However, compiling > with this option doesn't work on my machine and the 
code doesn't seem to > be complete for this option. >  > Did I 
miss to configure something or is the current implementation in > Xen not 
really ready for running a vTPM in a separate VM? >  > Can you 
explain to me how a communication will look like for the planned > 
implementation in Xen? Will all communication continue to go through the > 
vTPM manager and the vTPM manager talks to a kind of FE that transmits > 
TPM commands to a BE running in a separate domain? Or is it possible to > 
set up direct connections between a user domain TPM FE and the vTPM > 
running in an isolated VM? >  > Regards, > Anna > 
 > _______________________________________________ > Xense-devel 
mailing list > Xense-devel@xxxxxxxxxxxxxxxxxxx > 
http://lists.xensource.com/xense-devel >  > 
_______________________________________________ > Xense-devel mailing 
list > Xense-devel@xxxxxxxxxxxxxxxxxxx > 
http://lists.xensource.com/xense-devel 
_______________________________________________
Xense-devel mailing list
Xense-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xense-devel
 
 |   
 
 | 
    |