<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
 >

  <channel rdf:about="http://sourceforge.jp/projects/openpts/wiki/!feeds/list">
    <title>Open Platform Trust Services Wiki</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/!feeds/list</link>
    <description>
      SourceForge.jp Wiki pages for Open Platform Trust Services project.    </description>
        <dc:date>2011-05-06T16:09:50+09:00</dc:date>
        <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/FrontPage" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices-0.1" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuJaunty" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForFedora10" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/GRUB-IMA" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuIntrepid" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/EclipseGuide" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HackingLinuxTpmDeviceDriver" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/PlatformInfo" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/SideBar" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/DemoMovie" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/ToolsCommandReference" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/TcdemoCommandReference" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/TcdemoUsersGuide" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServicesServerSetupGuide" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/LinuxDistroComparisonTable" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForFedora9" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForKnoppix531" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForKnoppix" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuHardy" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToGetYourPlatformIntegrityInformation" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/TcGeeksQuickSetupGuide" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/PlatformBiosInt1AhInfo" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToUseWithKnoppixJp" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToUseWithKnoppix" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForRedHat" />
              </rdf:Seq>
    </items>
  </channel>

      <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/FrontPage">
    <title>FrontPage</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/FrontPage</link>
    <dc:identifier>FrontPage</dc:identifier>
    <dc:date>2011-05-06T16:09:50+09:00</dc:date>
        <description>
      <![CDATA[== Open Platform Trust Services (PTS) version 0.2 ==

=== 1. Overview ===

Open Platform Trust Services is a proof-of-concept (PoC) and experimental implementation of Platform Trust Services (PTS)]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-Open.20Platform.20Trust.20Services.20.28PTS.29.20version.200.2">Open Platform Trust Services (PTS) version 0.2</h2><h3 id="h3-1..20Overview">1. Overview</h3><p>Open Platform Trust Services is a proof-of-concept (PoC) and experimental implementation of Platform Trust Services (PTS) which is defined by the Trusted Computing Group (TCG). From version 0.2, it is fully written in C to support many type of target platforms, include PC, server and embedded devices.
</p><p>Previous version : <a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices-0.1">OpenPlatformTrustServices-0.1</a>
</p><h4 id="h4-1.1..20Supported.20Features">1.1. Supported Features</h4><p>Version 0.2.4 supports the following features,
</p><ul><li>Reference Manifest(RM) generation from Integrity Measurement Log (IML)
</li><li>Integrity Report(IR) generation from Integrity Measurement Log (IML)
</li><li>Verification Result (VR) generation from IR and VR
</li><li>Validation engine based on Finite State Machine 
</li><li>Behavior Models of Platform (BIOS) and Runtime (OS)
</li><li>Standalone attestation by IF-M with SSH remote command execution. - new
</li><li>AIDE integration  (experimental)
</li><li>TNC (experimental)
</li><li>tboot (experimental) - new
</li></ul><p>Deprecated features,
</p><ul><li>Standalone attestation by IF-M with SSH tunnel.
</li></ul><h4 id="h4-1.2..20Planned.20Features">1.2. Planned Features</h4><div class="indent">
</div><ul><li>XML Signature
</li><li>Integrity Database
</li></ul><h4 id="h4-1.3..20Supported.20Trusted.20Computing.20Platform.20List">1.3. Supported Trusted Computing Platform List</h4><h4 id="h4-1.3.1..20Platform.20.28BIOS.29">1.3.1. Platform (BIOS)</h4><table class="wikitable" border="1"><tbody><tr><td> <strong>Vendor</strong> </td><td>  <strong>Type</strong> </td><td> <strong>Comments</strong> </td></tr><tr><td> Lenovo  </td><td> Thinkpad </td><td>  </td></tr><tr><td> IBM  </td><td> System X server </td><td>  </td></tr><tr><td> Panasonic</td><td> Lets's Note </td><td> </td></tr></tbody></table><h4 id="h4-1.3.2..20Runtime.20.28O.2FS.29">1.3.2. Runtime (O/S)</h4><table class="wikitable" border="1"><tbody><tr><td> <strong>Name</strong>   </td><td>  <strong>Status</strong> </td><td> <strong>Comments</strong> </td></tr><tr><td> Fedora12-14  </td><td>  </td><td> </td></tr><tr><td> Fedora15     </td><td>  </td><td> with tboot-20101005 </td></tr><tr><td> RHEL6        </td><td>  </td><td> </td></tr><tr><td> Ubuntu 10.04 </td><td>  </td><td> </td></tr></tbody></table><h3 id="h3-2..20User.27s.20Guide">2. User's Guide</h3><p><a href="http://sourceforge.jp/projects/openpts/downloads/51879/userguide-0.2.4.pdf">User's Guide v0.2.4</a><br />
</p><p><a href="http://sourceforge.jp/projects/openpts/wiki/FrontPage/attach/20080218-TPMv12ErrorCodeCheatSheet.pdf">TPM v1.2 Error Code Cheat Sheet</a><br />
<a href="http://sourceforge.jp/projects/openpts/wiki/FrontPage/attach/20080218-TSSv12ErrorCodeCheatSheet.pdf">TSS v1.2 Error Code Cheat Sheet</a><br />
</p><h3 id="h3-3..20Links.20and.20References">3. Links and References</h3><p><a href="https://www.trustedcomputinggroup.org/home" class="external" rel="nofollow">Trusted Computing Group</a> <br />
<a href="http://sourceforge.net/projects/trousers" class="external" rel="nofollow">TrouSerS(TSS)</a> <br />
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices-0.1">
    <title>OpenPlatformTrustServices-0.1</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices-0.1</link>
    <dc:identifier>OpenPlatformTrustServices-0.1</dc:identifier>
    <dc:date>2011-03-10T15:56:16+09:00</dc:date>
        <description>
      <![CDATA[== Open Platform Trust Services (PTS) version 0.1 ==

=== 1. Overview ===

Open Platform Trust Services is a proof-of-concept (PoC) and reference implementation of Platform Trust Services (PTS) wh]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-Open.20Platform.20Trust.20Services.20.28PTS.29.20version.200.1">Open Platform Trust Services (PTS) version 0.1</h2><h3 id="h3-1..20Overview">1. Overview</h3><p>Open Platform Trust Services is a proof-of-concept (PoC) and reference implementation of Platform Trust Services (PTS) which is defined by the Trusted Computing Group.
</p><div class="indent">PTS related TCG specifications as of 2007/08
</div><ol><li>Architecture Part II - Integrity Management Version 1.0, Rev. 1.0
</li><li>Platform Trust Services Interface Specification (IF-PTS), Version 1.0, Rev 1.0
</li><li>Core Integrity Schema Specification, Version 1.0.1, Rev 1.0
</li><li>Simple Object Schema Specification Version 1.0, Rev. 1.0
</li><li>Security Qualities Schema Specification Version 1.1, Revision 7 
</li><li>Reference Manifest (RM) Schema Specification Version 1.0, Rev. 1.0
</li><li>Integrity Report Schema Specification Version 1.0, Rev. 1.0
</li><li>Verification Result Schema Specification Version 1.0, Revision 1.0
</li></ol><h4 id="h4-1.1..20Supported.20Features">1.1. Supported Features</h4><ul><li>Reference Manifest(RM) generation from Integrity Measurement Log (IML)
</li><li>Integrity Report(IR) generation from Integrity Measurement Log (IML)
</li><li>Verification Result (VR) generation drom IR and VR
</li><li>Integrity Information Database (for RedHat,CentOS,KNOPPIX,Ubuntu)
</li><li>Vulnerability Information Database (OVAL,CVE,DSA)
</li><li>Validation engine based on Finite State Machine 
</li><li>Behabior Models of Platform (BIOS) and Runtime (OS)
</li></ul><h4 id="h4-1.2..20Planned.20Features">1.2. Planned Features</h4><div class="indent">
</div><ul><li>XML Signature
</li><li>
</li></ul><h4 id="h4-1.3..20Supported.20Trusted.20Computing.20Platform.20List">1.3. Supported Trusted Computing Platform List</h4><p>This pts use two integrity manifest, platform and runtime.
The platform manifest covers BIOS integrity. As it stands, no PC BIOS vender provides a manifest. thus we create the manifest from existing PC BIOS,
The eventlog is stored at ACPI Table and Linux Kenrel supports to access that. 
</p><p>The runtime manifest will cover Bootloader, Operating System and Virtual Machine Monitor.
</p><h4 id="h4-1.3.1..20Platform.20Infomation.20.28BIOS.29">1.3.1. Platform Infomation (BIOS)</h4><table class="wikitable" border="1"><tbody><tr><td> <strong>Vendor</strong> </td><td>  <strong>Type</strong> </td><td> <strong>Comments</strong> </td></tr><tr><td> Lenovo  </td><td> Thinkpad X60,X61,T60,T61 etc </td><td> pls. update the BIOS </td></tr><tr><td> Panasonic</td><td> W7,Y7, etc </td><td> </td></tr></tbody></table><div class="indent">For more detail, See the table at <a href="http://sourceforge.jp/projects/openpts/wiki/PlatformInfo">PlatformInfo</a> <a href="http://sourceforge.jp/projects/openpts/wiki/PlatformBiosInt1AhInfo">PlatformBiosInt1AhInfo</a>
</div><h4 id="h4-1.3.2..20Runtime.20Information.20.28O.2FS.29">1.3.2. Runtime Information (O/S)</h4><table class="wikitable" border="1"><tbody><tr><td> <strong>Name</strong> </td><td>  <strong>Status</strong> </td><td> <strong>Comments</strong> </td></tr><tr><td> <a href="http://unit.aist.go.jp/itri/knoppix/index.html" class="external" rel="nofollow">KNOPPIX511 Trusted Computing Geeks</a> </td><td> VALID </td><td> Linux-IMA </td></tr></tbody></table><p>Other Linux based Operating Systems are possible to support. 
</p><h4 id="h4-1.4..20Demonstration">1.4. Demonstration</h4><p><a href="http://sourceforge.jp/projects/openpts/wiki/DemoMovie">DemoMovie</a>
</p><h3 id="h3-2..20Client.20Setup.20Guide">2. Client Setup Guide</h3><h3 id="h3-2.1..20KNOPPIX">2.1. KNOPPIX</h3><div class="indent"><a href="http://sourceforge.jp/projects/openpts/wiki/FrontPage/attach/20080225-KNOPPIX511TCG-OPTS-UsersGuide-v1_1-E.pdf">How to use OpenPlatformTrustServices with KNOPPIX Trusted Computing Geeks（PDF, English)</a> <br />
<a href="http://sourceforge.jp/projects/openpts/wiki/FrontPage/attach/20080225-KNOPPIX511TCG-OPTS-UsersGuide-v1_1-J.pdf">KNOPPIX Trusted Computing Geeks でのOpenPlatformTrustServices の使い方 (PDF, 日本語)</a> <br />
<a href="http://sourceforge.jp/projects/openpts/wiki/TcGeeksQuickSetupGuide">KNOPPIX Trusted Computing Geeks Quick Setup Guide</a> <br />
</div><div class="indent"><a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForKnoppix">HowToBuildForKnoppix</a> <br />
<a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForKnoppix531">HowToBuildForKnoppix531</a> (v0.1.2 draft)<br />
</div><h3 id="h3-3..20Server.20Setup.20Guide">3. Server Setup Guide</h3><div class="indent"><a href="http://sourceforge.jp/projects/openpts/wiki/FrontPage/attach/20080221-OPTS-ServerSetupGuide-v1_0-J.pdf">OpenPlatformTrustServices サーバー構築ガイド v1.0 (PDF, 日本語)</a> <br />
<a href="http://sourceforge.jp/projects/openpts/wiki/FrontPage/attach/20080218-OPTS-ServerSetupGuide-v1_0-E.pdf">OpenPlatformTrustServices Server Setup Guide v1.0 (PDF, English)</a> <br />
<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServicesServerSetupGuide">OpenPlatformTrustServicesServerSetupGuide</a> (v0.1.2 DRAFT)<br />
</div><h3 id="h3-4..20Reference.20Manuals">4. Reference Manuals</h3><h4 id="h4-4.1..20Command.20Reference">4.1. Command Reference</h4><p><a href="http://sourceforge.jp/projects/openpts/wiki/ToolsCommandReference">ToolsCommandReference</a><br />
<a href="http://sourceforge.jp/projects/openpts/wiki/TcdemoCommandReference">TcdemoCommandReference</a><br />
</p><h4 id="h4-4.2..20Cheat.20Sheets.20and.20tips.20for.20TC.20developers">4.2. Cheat Sheets and tips for TC developers</h4><p><a href="http://sourceforge.jp/projects/openpts/wiki/FrontPage/attach/20080218-TPMv12ErrorCodeCheatSheet.pdf">TPM v1.2 Error Code Cheat Sheet</a><br />
<a href="http://sourceforge.jp/projects/openpts/wiki/FrontPage/attach/20080218-TSSv12ErrorCodeCheatSheet.pdf">TSS v1.2 Error Code Cheat Sheet</a><br />
<a href="http://sourceforge.jp/projects/openpts/wiki/LinuxDistroComparisonTable">LinuxDistroComparisonTable</a><br />
<a href="http://sourceforge.jp/projects/openpts/wiki/HackingLinuxTpmDeviceDriver">HackingLinuxTpmDeviceDriver</a><br />
</p><h3 id="h3-5..20Development">5. Development</h3><table class="wikitable" border="1"><tbody><tr><td><strong>Distro</strong></td><td><strong>Release</strong></td><td><strong>bootloader (patch)</strong></td><td><strong>Kernel (patch)</strong></td></tr><tr><td>CentOS 5   </td><td>            </td><td> (grub-ima) </td><td> 2.6.18 </td></tr><tr><td>Fedora 7   </td><td> 2007/5/31  </td><td> (grub-ima) </td><td> 2.6.21 </td></tr><tr><td>Fedora 8   </td><td> 2007/11/8  </td><td> (grub-ima) </td><td> 2.6.23 </td></tr><tr><td>Fedora 9   </td><td> 2008/5/14  </td><td> grub-0.97-33 (grub-ima) </td><td> 2.6.25 - 2.6.27.25 (ibm_ima_8.5_2.6.27.6.patch)</td></tr><tr><td>Fedora 10  </td><td> 2008/11/25 </td><td> grub-0.97-38 (grub-0.97-38.fc10.ima-1.1.0.0.patch) </td><td> 2.6.27 - 2.6.27.41 (ibm_ima_8.5_2.6.27.6.patch)</td></tr><tr><td>Fedora 11  </td><td> 2009/6/9   </td><td> grub-0.97-50 (grub-ima) </td><td> 2.6.29 - 2.6.30.10 (ibm_ima_2.6.29.1.patch) </td></tr><tr><td>Fedora 12  </td><td> 2009/11/17 </td><td> grub-0.97-60 (grub-ima) </td><td> 2.6.31 - 2.6.31.12 (need fix for iTPM)</td></tr><tr><td>Ubuntu Hardy    </td><td>2008/4/24 </td><td> (grub-ima) </td><td> 2.6.24 (ibm_ima_8.3_2.6.24.3.patch)</td></tr><tr><td>Ubuntu Intrepid </td><td>2008/10/30</td><td> (grub-0.97-29ubuntu45-ima-1.1.0.0.patch) </td><td> 2.6.27 (ibm_ima_8.5_2.6.27.6.patch)</td></tr><tr><td>Ubuntu Jaunty   </td><td>2009/4/23 </td><td> (grub-0.97-29ubuntu45-ima-1.1.0.0.patch) </td><td> 2.6.28 </td></tr><tr><td>Ubuntu Kermic   </td><td>2009/10/29</td><td> N/A (grub2)</td><td> 2.6.31 - 2.6.31-14 </td></tr><tr><td>Ubuntu Lucid    </td><td>2010/4/29 </td><td> N/A (grub2)</td><td> ?      </td></tr></tbody></table><h4 id="h4-5.1..20Fedora">5.1. Fedora</h4><div class="indent"><a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForRedHat">HowToBuildForRedHat</a><br />
<a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForFedora9">HowToBuildForFedora9</a> (deprecated)<br />
<a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForFedora10">HowToBuildForFedora10</a> (draft)<br />
</div><h4 id="h4-5.2..20Ubuntu">5.2. Ubuntu</h4><div class="indent"><a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuHardy">HowToBuildForUbuntuHardy</a> (deprecated)<br />
<a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuIntrepid">HowToBuildForUbuntuIntrepid</a> (deprecated)<br />
<a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuJaunty">HowToBuildForUbuntuJaunty</a> (draft)<br />
</div><h4 id="h4-5.3..20Eclipse">5.3. Eclipse</h4><div class="indent"><a href="http://sourceforge.jp/projects/openpts/wiki/EclipseGuide">EclipseGuide</a>
</div><h3 id="h3-Links.20and.20References">Links and References</h3><p><a href="https://www.trustedcomputinggroup.org/home" class="external" rel="nofollow">Trusted Computing Group</a> <br />
<a href="http://sourceforge.net/projects/trousers" class="external" rel="nofollow">TrouSerS(TSS)</a> <br />
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuJaunty">
    <title>HowToBuildForUbuntuJaunty</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuJaunty</link>
    <dc:identifier>HowToBuildForUbuntuJaunty</dc:identifier>
    <dc:date>2010-07-16T09:04:12+09:00</dc:date>
        <description>
      <![CDATA[SORRY, This page is still under construction.

----

= Ubuntu Jaunty (9.04) =

This guide is intended to build Ubuntu Jaunty (9.04, i386) with Trusted Computing.

note) 
We are using Thinkpad]]>
    </description>
    <content:encoded>
      <![CDATA[<p>SORRY, This page is still under construction.
</p><hr /><h1 id="h1-Ubuntu.20Jaunty.20.289.04.29">Ubuntu Jaunty (9.04)</h1><p>This guide is intended to build Ubuntu Jaunty (9.04, i386) with Trusted Computing.
</p><p>note) 
We are using Thinkpad X200 to make this document.
It has intel's iTPM chip, and this instruction contains some workarounds for this TPM.
Other TPM user does not need such workarounds.
</p><h2 id="h2-1..20Install.20Ubuntu.20Desktop">1. Install Ubuntu Desktop</h2><p>Download ISO image. and install to your HDD.
</p><p>Update to be work with latest packages. 
</p><h2 id="h2-2..20Enable.20Integrity.20Measurement">2. Enable Integrity Measurement</h2><h3 id="h3-2.1..20BIOS">2.1. BIOS</h3><p>enable TPM.
</p><h3 id="h3-2.2..20Bootloader.20Component">2.2. Bootloader Component</h3><h3 id="h3-2.2.1.20GRUB-IMA">2.2.1 GRUB-IMA</h3><p>Download source package and build.
</p><pre>$ sudo apt-get build-dep grub
$ apt-get source grub
$ pushd grub-0.97/debian/patches/
$ wget http://osdn.dl.sourceforge.jp/openpts/37646/grub-0.97-29ubuntu45-ima-1.1.0.0.patch
$ popd
$ echo &quot;# This patch supports IMA&quot;              &gt;&gt; grub-0.97/debian/patches/00list
$ echo &quot;grub-0.97-29ubuntu45-ima-1.1.0.0.patch&quot; &gt;&gt; grub-0.97/debian/patches/00list
$ mv grub-0.97/debian/rules grub-0.97/debian/rules.orig
$ sed -e 's/--disable-auto-linux-mem-opt/--disable-auto-linux-mem-opt --enable-ima/g' grub-0.97/debian/rules.orig &gt; grub-0.97/debian/rules
$ chmod +x grub-0.97/debian/rules
</pre><p>Build deb package.
</p><pre>$ pushd grub-0.97
$ debchange -i
</pre><p>add changelog message. e.g.
</p><pre>grub (0.97-29ubuntu53.ima) jaunty; urgency=low

  * enable Trusted Boot

 -- foo &lt;foo@users.sourceforge.jp&gt;  Tue, 31 Mar 2009 23:27:39 +0900
</pre><pre>$ dpkg-buildpackage -rfakeroot -us -uc
$ popd
</pre><p>Install new GRUB package.
</p><pre>$ sudo dpkg -i grub_0.97-29ubuntu53.ima_i386.deb
$ grep TCG /usr/lib/grub/i386-pc/*
Binary file /usr/lib/grub/i386-pc/stage1 matches
Binary file /usr/lib/grub/i386-pc/stage2 matches
Binary file /usr/lib/grub/i386-pc/stage2_eltorito matches
</pre><p>install new GRUB to local system (replace the bootloader components).
</p><pre>$ sudo grub-install /dev/sda
$ grep TCG /boot/grub/*
Binary file /boot/grub/stage1 matches
Binary file /boot/grub/stage2 matches
</pre><p>OK:-)
</p><h3 id="h3-2.3..20Kernel.20Component">2.3. Kernel Component</h3><p>References:
<a href="https://help.ubuntu.com/community/Kernel/Compile" class="external" rel="nofollow">https://help.ubuntu.com/community/Kernel/Compile</a>
</p><h4 id="h4-2.2.1.202.6.30.20w.2F.20LIM.2FIMA.20Kernel.20Build">2.2.1 2.6.30 w/ LIM/IMA Kernel Build</h4><pre>$ sudo apt-get install build-essential
$ sudo apt-get install kernel-package
$ sudo apt-get install ncurses-dev
</pre><pre>$ cd /usr/src
$ sudo wget http://ftp.riken.jp/Linux/kernel.org/linux/kernel/v2.6/linux-2.6.30.tar.bz2
$ sudo tar jxvf linux-2.6.30.tar.bz2
$ cd linux-2.6.30/
$ sudo cp /boot/config-2.6.27-11-generic .config
$ sudo make oldconfig
$ sudo make menuconfig
$ sudo make xconfig
</pre><pre>CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_AUDIT=y
CONFIG_IMA_LSM_RULES=y
</pre><p>Intel iTPM requires following patches to fix the problem.
<pre>$ sudo wget http://cybione.org/~cdidier/log/data/200812020841/itpm.diff
$ sudo patch -p0 -z .itpm --dry-run &lt; itpm.diff
$ sudo patch -p0 -z .itpm  &lt; itpm.diff
</pre></p><pre>$ sudo make-kpkg clean
$ sudo CONCURRENCY_LEVEL=3 make-kpkg --append-to-version=-ima --initrd kernel_image kernel_headers
$ sudo dpkg -i ../linux-image-2.6.30-ima_2.6.30-ima-10.00.Custom_i386.deb
$ sudo dpkg -i ../linux-headers-2.6.30-ima_2.6.30-ima-10.00.Custom_i386.deb
$ vim /boot/grub/menu.lst
</pre><p>Edit /boot/grub/menu.lst to enable IMA. e.g.
</p><pre>title           Ubuntu 9.04, kernel 2.6.30 (IMA)
uuid            fc0f489b-9a7c-43bd-90fa-bb49979b0c23
kernel          /boot/vmlinuz-2.6.30-ima root=UUID=fc0f489b-9a7c-43bd-90fa-bb49979b0c23 ro quiet splash ima=1 selinux=1 tpm_tis.force=1 tpm_tis.interrupts=0
initrd          /boot/initrd.img-2.6.30-ima
quiet
</pre><p>Reboot the system. and check the measurements
</p><pre>$ dmesg
&lt;snip&gt;
[    1.992012] tpm_tis tpm_tis: 1.2 TPM (device-id 0x1020, rev-id 6)

&lt;snip&gt;
$ ls /sys/kernel/security/
ima  tpm0
$  sudo cat /sys/kernel/security/ima/ascii_runtime_measurements 
10 adc64d7b762408a258e81b9bbb55fa8781ed42bf ima 705418e94288d91ce1ada49dbd4343b82882c9fb boot_aggregate
10 8a11aa2017bfdf52ae1ab8cfb277fc651bc7d611 ima e6d56d44e22b8f6b783c039d45703e8fd28cb796 /init
10 a078e19e5ea2bf75ed353fc6613f7132863618d5 ima 3d90e18f67f1c580c1212126a3c22cf07c7288dd /init
10 089c6ce6198fee74262cf4244ffdea98a2392ded ima 3d90e18f67f1c580c1212126a3c22cf07c7288dd /bin/busybox
10 c69571a6b6185b474fa7437cb2b31253721824d4 ima 7e9431ee7bcbe0c4ea0054baf84672fdff7d6391 arch.conf
10 3d0d130a199ea78a53fc52f4913d28f5d0da8910 ima 0ec1deb5c2338808cf9dd31a0b16473d273fb570 initramfs.conf
10 a193e5f0c6958e3a979d2c1a5af1abcb657ef79e ima 3addb8e6e83e82a86b3ad215bcd771a12c9d4d74 resume
10 71fc6cf0e268c0ffad291eaa1ce49ab14b6e39de ima a1550fe2ce2f915eac8786d1d693141072feea87 functions
10 a14f597eb53f1a12725c9f772229f59c0de61110 ima ad273a22d013fab039459654369b40e47a6e04ac /sbin/depmod
10 30b51606815deb8bb6c9d1a17db33eb8e5ce1465 ima b9269024f4129804673f366b5a67061f54d7be3f ld-linux.so.2
10 e978baf0c895be2b32a803e200b15b9c4a5d3464 ima 803088880d0abdda917385e88a9ac1ed61ce0f71 libc.so.6
10 3b92eee85ca026ca93ba1d0c81d34fa6f88784a0 ima 8a622a41977d6e4cec14e800d76c4aafbaaa9658 nfs.ko
10 5080904daf0e2ba76394f91ac2b63e788db66fb6 ima 4a63e2031da51dbddb9c98ca35a01306c71873b4 reiserfs.ko
&lt;snip&gt;
</pre><p>OK.
</p><h3 id="h3-2.4.20Useland.20Components">2.4 Useland Components</h3><h4 id="h4-2.4.1.20.21TrouSerS.20.28TBD.29">2.4.1 TrouSerS (TBD)</h4><p>URL: <a href="http://sourceforge.net/projects/trousers/" class="external" rel="nofollow">http://sourceforge.net/projects/trousers/</a><br />
</p><p>A) Install from Ubuntu repository
</p><pre>$ sudo apt-get install trousers
</pre><p>B) re-build debian package
</p><pre>$ sudo apt-get build-dep trousers
$ apt-get source trousers
$ cd trousers-0.3.1
$ dpkg-buildpackage -rfakeroot -us -uc
</pre><p>C) Use the latest version at <a href="http://sourceforge.jp/projects/openpts/wiki/TrouSer">TrouSer</a>S CVS repo.
</p><pre>$ cvs -d:pserver:anonymous@trousers.cvs.sourceforge.net:/cvsroot/trousers login
hit return when asked for password;
$ cvs -z3 -d:pserver:anonymous@trousers.cvs.sourceforge.net:/cvsroot/trousers co -P trousers

$ cp -r trousers /tmp/trousers-0.3.3.cvs
$ cd /tmp/trousers-0.3.3.cvs
$ sh bootstrap.sh
$ dh_make --createorig
$ dpkg-buildpackage -rfakeroot
$ sudo dpkg -i ../trousers_0.3.3.cvs-1_i386.deb

$ sudo adduser --system --home /var/lib/tpm --shell /usr/sbin/nologin --no-create-home --group tss

$ sudo chown tss:tss /usr/sbin/tcsd
$ sudo chown tss:tss /var/lib/tpm -R
$ sudo chown tss:tss /etc/tcsd.conf
$ sudo chmod 0600 /etc/tcsd.conf
$ sudo chmod 1777 /var/lib/tpm

$ sudo /etc/init.d/trousers start
</pre><p>Note1) Modify configure to remove &quot;attribute warn_unused_result&quot; check in CFLAGS
Note2) remove trousers tpm-tools libtspi-dev libtspi1 libtpm-unseal-dev libtpm-unseal0 opencryptoki libopencryptoki0
</p><p>D) Use the latest version at <a href="http://sourceforge.jp/projects/openpts/wiki/TrouSer">TrouSer</a>S GIT repo (TBD)
</p><pre>git clone git://trousers.git.sourceforge.net/gitroot/trousers
</pre><h4 id="h4-2.4.2.20tpm-tools">2.4.2 tpm-tools</h4><p>A) Install from Ubuntu repository
</p><pre>$ sudo apt-get install tpm-tools

$ tpm_version
  TPM 1.2 Version Info:
  Chip Version:        1.2.4.0
  Spec Level:          2
  Errata Revision:     2
  TPM Vendor ID:       INTC
  Vendor Specific data: 00040000 00030464
  TPM Version:         01010000
  Manufacturer Info:   494e5443
</pre><p>B) Use the latest version at <a href="http://sourceforge.jp/projects/openpts/wiki/TrouSer">TrouSer</a>S CVS repo.
</p><pre>$ cvs -d:pserver:anonymous@trousers.cvs.sourceforge.net:/cvsroot/trousers login
hit return when asked for password;
$ cvs -z3 -d:pserver:anonymous@trousers.cvs.sourceforge.net:/cvsroot/trousers co -P tpm-tools
$ cp -r tpm-tools /tmp/tpm-tools-1.3.3.cvs
$ sh bootstrap.sh
$ dh_make --createorig
$ dpkg-buildpackage -rfakeroot
$ sudo dpkg -i ../tpm-tools_1.3.3.cvs-1_i386.deb


$ tpm_version
  TPM 1.2 Version Info:
  Chip Version:        1.2.4.0
  Spec Level:          2
  Errata Revision:     2
  TPM Vendor ID:       INTC
  Vendor Specific data: 00040000 00030464
  TPM Version:         01010000
  Manufacturer Info:   494e5443

</pre><p>Note) comment out &quot;dh_shlibdeps&quot; in debian/rules
</p><h4 id="h4-2.4.5.20.21OpenPlatformTrustServices">2.4.5 OpenPlatformTrustServices</h4><pre>$ sudo apt-get install trousers libtspi-dev tpm-tools libtpm-unseal0 libtpm-unseal-dev
$ sudo apt-get install libcommons-codec-java libcommons-logging-java libpg-java liblog4j1.2-java libibatis-java

$ sudo apt-get install libcommons-discovery-java libaxis-java

$ sudo apt-get install liblog4j1.2-java-gcj libaxis-java-gcj
</pre><h4 id="h4-2.4.5.1.20Build.20and.20Install.20.3A.20.21OpenPlatformTrustServices.20Tools.20Package">2.4.5.1 Build and Install : OpenPlatformTrustServices Tools Package</h4><p>From GIT repository (2009-02-22)
</p><pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/tools.git
$ cd tools
$ make dpkg-buildpackage
$ sudo dpkg -i ../openpts-tools_0.1.3-git20090331_i386.deb
</pre><pre>$ /usr/bin/tpm_pcrread -a
pcr.0=fd696e0329f63bf288616865f86227aea0bff6af
pcr.1=0f028024e085e43db5bd29cf771acbb8ab4fb473
pcr.2=d68ec5b044f32933f6bf2488c1b36a0c3bc970e0
pcr.3=3a3f780f11a4b49969fcaa80cd6e3957c33b2275
pcr.4=db8be6e34e5f2c5c4b11f918aec25fe7333f6471
pcr.5=b74a56f449507542c3ad1def88e0e34617c3ba8f
pcr.6=585e579e48997fee8efd20830c6a841eb353c628
pcr.7=3a3f780f11a4b49969fcaa80cd6e3957c33b2275
pcr.8=55e50e41bec4225964925f4db2fd1781011ca188
pcr.9=0000000000000000000000000000000000000000
pcr.10=a99b9181fc6f73d30e44442965b9a546b9b9a643
pcr.11=0000000000000000000000000000000000000000
pcr.12=0000000000000000000000000000000000000000
pcr.13=0000000000000000000000000000000000000000
pcr.14=0000000000000000000000000000000000000000
pcr.15=0000000000000000000000000000000000000000
pcr.16=0000000000000000000000000000000000000000
pcr.17=ffffffffffffffffffffffffffffffffffffffff
pcr.18=ffffffffffffffffffffffffffffffffffffffff
pcr.19=ffffffffffffffffffffffffffffffffffffffff
pcr.20=ffffffffffffffffffffffffffffffffffffffff
pcr.21=ffffffffffffffffffffffffffffffffffffffff
pcr.22=ffffffffffffffffffffffffffffffffffffffff
pcr.23=0000000000000000000000000000000000000000
</pre><pre>$ iml -p 4
 Idx PCR       Type    Digest                                EventData
-----------------------------------------------------------------------
 179   4 0x80000003 9b4d80cfefc7d5576c4d9f224872505896ef2798 [BIOS:LENOVO NEW(TBD) len=10,00001000000000000010]
 180   4 0x00000004 d9be6524a5f5047db5866813acf3277892a7a30a [BIOS:EV_SEPARATOR, ffffffff]
 181   4 0x00000005 c1e25c3f6b0dc78d57296aa2870ca6f782ccf80f [BIOS:EV_ACTION, Calling INT 19h]
 182   4 0x00000005 6ab91c9fbe9489ea35f226ec70e23c7bb09db9a3 [BIOS:EV_ACTION, Booting BCV Device 80h, - HITACHI HTS541616J9SA00-(S1)]
 183   4 0x0000000d c72cb355f3c9978fa9f15ec692264356c7328855 [BIOS:EV_IPL]
 184   4 0x0000000d b82f5fa84465edfc054591b059bb65ea54f67282 [GRUB:EV_IPL, Stage1(MBR)]
 185   4 0x0000000d d4fa72b193753834e25ca5dc420f9c23d14c6087 [GRUB:EV_IPL, Stage1.5]
 186   4 0x0000000d 55fc0eb1ceb08bf75cdd3fb1f0235d8471b748d3 [GRUB:EV_IPL, Stage1.5(filesystem)]
 187   4 0x00000006 9fc81a0038d3a3ffdbc053b2eb13b28a8db461cd [GRUB: measure MBR again]
 188   4 0x00000004 8cdc27ec545eda33fbba1e8b8dae4da5c7206972 [GRUB:EV_SEPARATOR, Grub Event Separator]
</pre><p>OK :-)
</p><h4 id="h4-2.4.5.2.20Build.20and.20Install.20.3A.20.21OpenPlatformTrustServices.20Core.20package">2.4.5.2 Build and Install : OpenPlatformTrustServices Core package</h4><pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/core.git
$ cd core
$ make dpkg-buildpackage
$ sudo dpkg -i ../openpts-core_0.1.3-git20090405_all.deb
$ sudo dpkg -i ../openpts-core-gcj_0.1.3-git20090405_i386.deb
</pre><pre>$ 

</pre><h4 id="h4-2.4.5.2.20Build.20and.20Install.20.3A.20.21OpenPlatformTrustServices.20DEMO.20package">2.4.5.2 Build and Install : OpenPlatformTrustServices DEMO package</h4><p>TODO create deb package for jtreemap. until we need manual installation.
</p><pre>$ wget http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip
$ unzip jtreemap-1.1.0.zip
$ sudo cp jtreemap-site-1.1.0/jtreemap-1.1.0.jar /usr/share/java/jtreemap.jar
</pre><p>TODO 
</p><pre>sudo apt-get install tomcat5.5 tomcat5.5-webapps postgresql-8.3
</pre><pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/demo.git
$ cd demo
$ make dpkg-buildpackage 
$ sudo dpkg -i ../openpts-tcdemo-client_0.1.3-git20090405_all.deb
$ sudo dpkg -i ../openpts-tcdemo-client-gcj_0.1.3-git20090405_i386.deb
$ sudo dpkg -i ../openpts-tcdemo-server_0.1.3-git20090405_all.deb
</pre><h2 id="h2-3..20Demo.20setup">3. Demo setup</h2><h3 id="h3-3.1..20Client.20side">3.1. Client side</h3><h4 id="h4-3.1.1.20Take.20the.20TPM.20ownership.20.28TBD.29">3.1.1 Take the TPM ownership (TBD)</h4><p>The SRK password must be a default setting. Just enter for SRK password.
</p><pre>$ tpm_takeownership
Enter owner password: ********
Confirm password: ********
Enter SRK password:
Confirm password:
</pre><p>If you get the following error message, The TPM has been taken the ownership.
</p><pre>Tspi_TPM_TakeOwnership failed: 0x00000008 - layer=tpm, code=0008 (8), The TPM target command has been disabled
</pre><p>And, If the size of &quot;/var/lib/tpm/system.data&quot; file is zero, your TSS forgot your ownership. To fix this, you take ownership again, or you can put the dummy system.data file to enable TSS as follows.
</p><pre>sudo cp demo/sampledata/knoppix/dummy_system.data /var/lib/tpm/system.data
sudo /etc/init.d/tcsd restart
</pre><h4 id="h4-3.1.2..20Setup.20Demo.20Env.20.28TBD.29">3.1.2. Setup Demo Env (TBD)</h4><pre>sudo /usr/bin/ptsclientadmin --commandline --user USERNAME
</pre><p>User's local configurations are stored at /home/$USERNAME/.pts 
</p><h3 id="h3-3.2..20Server.20side">3.2. Server side</h3><h5 id="h5-3.2.1..20Setup.20PostgreSQL.20.28TBD.29">3.2.1. Setup PostgreSQL (TBD)</h5><p>Install PostgreSQL
</p><pre>sudo apt-get install postgresql
&lt;snip&gt;
Setting up postgresql (8.3.7-1) ...

sudo /etc/init.d/postgresql-8.3 status
8.3     main      5432 online postgres /var/lib/postgresql/8.3/main       /var/log/postgresql/postgresql-8.3-main.log
</pre><p>Set an admin password for postgres
</p><pre>sudo passwd postgres
su - postgres
psql -c &quot;alter user postgres with password 'PASSWORD'&quot; template1
</pre><p>Configure PostgreSQL for OpenPTS.
<pre>cd /usr/lib/openpts/database/
bash dbsetup.sh
load /etc/openpts/db.conf
S) Setup New Databases
C) Show Current Configuration
L) Show State
B) Backup Databases
D) Delete Databases
Q) Exit

select:C

Current Configurations
DB type                               : postgres 
DB admin                              : ptsadmin 
DB user                               : ptsuser 
Vulnerability Database name           : vuldb 
Integrity Information Database 0 name : iidb_redhat 
Integrity Information Database 1 name : iidb_centos 
Integrity Information Database 2 name : iidb_knoppix 
Integrity Information Database 3 name : iidb_ubuntu 
Integrity Information Database 4 name : iidb_fedora 
Integrity Information Database 5 name : iidb 
Integrity Information Database 6 name : iidb 
Integrity Information Database 7 name : iidb_bios 
&lt;snip&gt;

select:S
&lt;snip&gt;
</pre></p><h5 id="h5-3.2.2..20Setup.20Integrity.20Information.20Database.20of.20current.20host">3.2.2. Setup Integrity Information Database of current host</h5><p>it takes few hours.
</p><pre>cd /var/lib/openpts
sudo sh /usr/lib/openpts/scripts/deb-all.sh ubuntu
Collect Package info of ubuntu
  package list...
  treemap data...
  metadata...
  md5 digests...
  sha1 digests...
&lt;snip&gt;
</pre><p>Create map file, &quot;/var/lib/openpts/database/ibatis/sqlMapsConfig.properties&quot;, e.g.
</p><pre>driver=org.postgresql.Driver
url_vul=jdbc:postgresql://localhost/vuldb
url_iidb0=jdbc:postgresql://localhost/iidb_redhat
url_iidb1=jdbc:postgresql://localhost/iidb_centos
url_iidb2=jdbc:postgresql://localhost/iidb_knoppix
url_iidb3=jdbc:postgresql://localhost/iidb_ubuntu
url_iidb4=jdbc:postgresql://localhost/iidb_fedora
url_iidb5=jdbc:postgresql://localhost/iidb
url_iidb6=jdbc:postgresql://localhost/iidb
url_iidb7=jdbc:postgresql://localhost/iidb
username=ptsadmin
password=password
</pre><p>Import RPM metadata/digest into IIDB. it takes time.
</p><pre># /usr/bin/openpts rpmimport --dbindex 4 --inputdir  /var/lib/openpts/fedora/data/
</pre><p>Check the IIDB using openpts command. e.g.
</p><pre># openpts iidb --list --index 4
IIDB index:	4
packages:	1622
measuremnets:	250925
 - vulnerable:
	package    	0
	measurement	0
 - safe:
	package    	0
	measurement	0
 - unclear:
	package    	0
	measurement	0
 - unchecked:
	package    	1622
	measurement	250925

# sha1sum /usr/sbin/acpid
b5e042dfeac3bb70a686be5abd1fcb6a9472c6de  /usr/sbin/acpid

# openpts iidb --search --index 4 --digest b5e042dfeac3bb70a686be5abd1fcb6a9472c6de
hexDigest     : b5e042dfeac3bb70a686be5abd1fcb6a9472c6de
id            : 47331
filename      : /usr/sbin/acpid
obsolete      : 0
vulnerability : 0
packageName : acpid-1.0.6-11.fc10.x86_64
</pre><h5 id="h5-3.2.3..20Setup.20Vulnerability.20Database.20.28TBD.29">3.2.3. Setup Vulnerability Database (TBD)</h5><p>Just fill CVE info into Vulnerability Database. The database can not link with integrity database. Since there is no good source of Security Advisory for Fedora, OVAL only support RHEL.
</p><p>/usr/bin/openpts cve --xmlfile <a href="http://nvd.nist.gov/download/nvdcve-2009.xml" class="external" rel="nofollow">http://nvd.nist.gov/download/nvdcve-2009.xml</a> --outputdir /tmp
</p><h5 id="h5-3.2.4...20Backup.20and.20restore.20database.20.28TBD.29">3.2.4.. Backup and restore database (TBD)</h5><pre>$ pg_dump database_name &gt; file_name.sql

$ psql -e database_name &lt; file_name.sql
$ pg_restore –d database_name file_name.sql
</pre><h5 id="h5-3.2.5..20View.20IIDB.2CVULDB.20using.20phpPgAdmin">3.2.5. View IIDB,VULDB using phpPgAdmin</h5><pre>sudo apt-get install phppgadmin
/etc/init.d/apache2 start
</pre><p><a href="http://localhost/phppgadmin/" class="external" rel="nofollow">http://localhost/phppgadmin/</a>
</p><p>login as &quot;ptsuser&quot;
</p><p>if login was failed, check the configuration file:
/etc/postgresql/8.3/main/pg_hba.conf
</p><h4 id="h4-3.3.20Setup.20Validation.20Server.20.20.28TBD.29">3.3 Setup Validation Server  (TBD)</h4><h5 id="h5-3.3.1..20Setup.20TOMCAT.20.28TBD.29">3.3.1. Setup TOMCAT (TBD)</h5><p># yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps 
</p><p>/etc/sysconfig/tomcat5
</p><p>JAVA_HOME=&quot;/usr/java/jdk1.6.0_12/&quot;
</p><p># rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/openpts-tcdemo-server-0.1.3-git20090613.fc10.x86_64.rpm'
</p><p># /sbin/service tomcat5 start 
# chkconfig tomcat5 on
</p><p><a href="http://localhost:8080/pva/" class="external" rel="nofollow">http://localhost:8080/pva/</a>
</p><p>Log file /var/log/tomcat5/catalina.out
6-3-X. Setup Demo Contents¶
</p><p>Create account, user &quot;guest&quot; and password &quot;given&quot;.
</p><p># htpasswd -c /var/www/.htpasswd guest
</p><p>Create demo contents
</p><p># mkdir -p /var/www/html/tcdemo
</p><p>Edit /var/www/html/tcdemo/index.html
</p><p>&lt;html&gt;
&lt;head&gt;
&lt;title&gt; OpenPTS Test &lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt; OpenPTS Test &lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;
</p><p>Edit /etc/httpd/conf/httpd.conf
</p><p>...
&lt;Directory &quot;/var/www/html&quot;&gt;
...
<a href="http://sourceforge.jp/projects/openpts/wiki/AuthType">AuthType</a> Basic
<a href="http://sourceforge.jp/projects/openpts/wiki/AuthName">AuthName</a> &quot;Password Required&quot;
<a href="http://sourceforge.jp/projects/openpts/wiki/AuthUserFile">AuthUserFile</a> /var/www/.htpasswd
<a href="http://sourceforge.jp/projects/openpts/wiki/AuthGroupFile">AuthGroupFile</a> /dev/null
require valid-user
</p><p>&lt;/Directory&gt;
...
</p><p># service httpd start
# chkconfig httpd on
</p><p><a href="http://localhost/tcdemo" class="external" rel="nofollow">http://localhost/tcdemo</a>
</p><h5 id="h5-Run.20TC.20Demo.20.28TBD.29">Run TC Demo (TBD)</h5><p>(OPTION) To monitor server-side validation log, open terminal
</p><p>tailf /var/log/openpts.log
</p><p>/usr/bin/ptsclientuser --commandline 
</p><p>if validation was success, it open <a href="http://localhost/tcdemo." class="external" rel="nofollow">http://localhost/tcdemo.</a>
</p><p>Congratulation! 
</p><h3 id="h3-3.3..20Test">3.3. Test</h3><h2 id="h2-X..20memo">X. memo</h2><h4 id="h4-X.X.20Test.20Trousers.20Build.20.28Option.29">X.X Test Trousers Build (Option)</h4><p>Ubuntu package does not support GTK.
to enable GTK feature (popup password), re-build the trousers with GTK option. 
</p><pre>$ sudo apt-get build-dep trousers
$ apt-get source trousers
$ cd trousers-0.3.1
$ dpkg-buildpackage -rfakeroot -us -uc
</pre><p>EOF</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForFedora10">
    <title>HowToBuildForFedora10</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToBuildForFedora10</link>
    <dc:identifier>HowToBuildForFedora10</dc:identifier>
    <dc:date>2009-07-31T10:27:26+09:00</dc:date>
        <description>
      <![CDATA[under construction. welcome any comments or suggestions on this instruction.

----

== How To Build !OpenPlatformTrustServices for Fedora10. ==

Following instruction is tested by using Fedora10]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction. welcome any comments or suggestions on this instruction.
</p><hr /><h2 id="h2-How.20To.20Build.20.21OpenPlatformTrustServices.20for.20Fedora10.">How To Build OpenPlatformTrustServices for Fedora10.</h2><p>Following instruction is tested by using Fedora10 x86_64.
</p><hr /><h3 id="h3-1..20Setup.20build.20environment">1. Setup build environment</h3><h4 id="h4-1-1..20RPM.20build.20environment">1-1. RPM build environment</h4><pre>$ su -c 'yum install yum-utils rpmdevtools'
$ rpmdev-setuptree
</pre><p>Now ~/rpmbuild/ is your work space.
</p><h4 id="h4-1-2..20Java">1-2. Java</h4><p>Download and Install Java Development Kit 6 from <a href="http://java.sun.com/javase/downloads/index.jsp" class="external" rel="nofollow">http://java.sun.com/javase/downloads/index.jsp</a> (OPTION)
</p><pre>$ su -c 'sh jdk-6u12-linux-amd64-rpm.bin'
</pre><pre>export JAVA_HOME=/usr/java/default
export PATH=/usr/java/default/bin:$PATH
</pre><p>OK, let's build/install Trusted Computing components. 
</p><h3 id="h3-2..20Bootloader">2. Bootloader</h3><p>TBD,
The GRIB-IMA patch for F10 is still under test.
</p><pre>$ su -c 'yumdownloader --source grub'
$ su -c 'yum-builddep grub-0.97-38.fc10.src.rpm'
$ rpm -Uvh grub-0.97-38.fc10.src.rpm
$ cd ~/rpmbuild/SOURCES
$ wget http://osdn.dl.sourceforge.jp/openpts/40294/grub-0.97-38.fc10.ima-1.1.0.0.patch
$ cd ~/rpmbuild/SPECS
</pre><p>Modify grub.spec to support GRUB-IMA, e.g.
<pre>+Release: 38%{?dist}.ima
+Patch2: grub-0.97-38.fc10.ima-1.1.0.0.patch
+%patch2 -p1
+%configure --sbindir=/sbin --disable-auto-linux-mem-opt --enable-ima --datarootdir=%{_datadir}
</pre></p><p>Then, Build and Install.
</p><pre>$ rpmbuild -ba grub.spec
$ su -c 'rpm -ivh ../RPMS/x86_64/grub-0.97-38.fc10.ima.x86_64.rpm'
$ su -c 'grub-install /dev/sda'
</pre><p>Reboot,
</p><div class="indent">
</div><p>/sys/kernel/security/tpm0/ascii_bios_measurements has new events. e.g.
<pre>&lt;snip&gt;
 4 a6814bcb5db0cf04d8dcab87eb28f5da08f8fb88 0d [IPL]
 4 1b2db0cc9522e668216df23894622abae5a5bfb8 0d [IPL]
 4 2088cf4ac5161ed201988c4a7eef032edfcbe11c 0d [IPL]
 4 9c4f005da6861894101336242cf6a6b4f48932de 06 []
 4 8cdc27ec545eda33fbba1e8b8dae4da5c7206972 04 [Grub Event Separator]
 5 8cdc27ec545eda33fbba1e8b8dae4da5c7206972 04 [Grub Event Separator]
 5 9cd8a5fd7d52a7500aec4acad1ba165e1fed8786 0e [IPL Partition Data]
 5 791724465beff9845e79f6a7e38e5d8d7fe9a706 1105 []
 8 177f4ea8f72db0082f832667701f9d072b1f5df2 1205 []
 8 4ecccf21df1f87f7203112bcf8555475cfdca7e9 1305 []
 5 2431ed60130faeaf3a045f21963f71cacd46a029 04 [OS Event Separator]
 8 2431ed60130faeaf3a045f21963f71cacd46a029 04 [OS Event Separator]
 8 f3973cae05d6e2055062119d6e6e1e077b7df876 1005 []
</pre></p><p>note1) Please mount securityfs to access the eventlog
<pre># mount -t securityfs securityfs /sys/kernel/security
</pre></p><p>or ,add the folloing line to your /etc/fstab
<pre>securityfs /sys/kernel/security securityfs rw 0 0
</pre></p><p>note2) This patch does not support Trusted Boot on EFI platform.
</p><h3 id="h3-3..20Linux.20Kernel">3. Linux Kernel</h3><p>At this moment, we are recomended to use OLD IMA,
since NEW IMA is not integrated with Trousers and OpenPTS yet.
</p><h4 id="h4-3-1..20Linux.20Kernel.20w.2F.20Linux-IMA">3-1. Linux Kernel w/ Linux-IMA</h4><p>References:<br /> 
<a href="http://sourceforge.jp/projects/openpts/wiki/1">1</a> <a href="http://fedoraproject.org/wiki/Docs/CustomKernel" class="external" rel="nofollow">http://fedoraproject.org/wiki/Docs/CustomKernel</a><br /> 
<a href="http://sourceforge.jp/projects/openpts/wiki/2">2</a> <a href="http://sourceforge.net/projects/linux-ima" class="external" rel="nofollow">http://sourceforge.net/projects/linux-ima</a><br /> 
</p><p>Example:
<pre>$ yumdownloader --source kernel
$ su -c 'yum-builddep kernel-&lt;version&gt;.src.rpm'
$ rpm -Uvh kernel-&lt;version&gt;.src.rpm

$ cd ~/rpmbuild/SOURCE

$ wget http://jaist.dl.sourceforge.net/sourceforge/linux-ima/ibm_ima_8.5_2.6.27.6.patch

$ cd ~/rpmbuild/SPECS

$ rpmbuild -bp --target=`uname -m` kernel.spec

$ cd ~/rpmbuild/BUILD

$ cp configs/&lt;desired-config-file&gt; .config

or

$ cp /boot/config-$(uname -r) .config

$ make -s xconfig 
OR
$ make -s menuconfig

Device Driver &gt; Character devices &gt;  TPM hardware Supports = Y
Device Driver &gt; Character devices &gt;  TPM hardware Supports &gt; * Interface= Y
Cryptographic API &gt; SHA1 = Y
Security options &gt; Capability = N
Security options &gt; Smack = N
Security options &gt; TCG run-time Integrity Measuremenet = Y

add &quot;# x86_64&quot; at top 

$ cp .config /home/foo/rpmbuild/SOURCES/config-x86_64-generic

$ cd ~/rpmbuild/SPECS

add &quot;%define buildid .ima&quot; to kernel.spec

$ rpmbuild -ba --with baseonly --with firmware --without debuginfo --target=`uname -m` kernel.spec

$ su -c 'rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/kernel-firmware-2.6.27.19-170.2.35.ima.fc10.x86_64.rpm'
$ su -c 'rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/kernel-2.6.27.19-170.2.35.ima.fc10.x86_64.rpm'

add &quot;ima=1&quot; to the kernel line in /boot/grub/grub.conf.

</pre></p><p>/etc/tcsd.conf
<pre>system_ps_file = /var/lib/tpm/system.data
firmware_log_file = /sys/kernel/security/tpm0/binary_bios_measurements
firmware_pcrs = 0,1,2,3,4,5,6,7,8
kernel_log_file = /sys/kernel/security/ima/binary_runtime_measurements
kernel_pcrs = 10
</pre></p><p>note)
The pc which has new Intel iTPM needs to fix the tpm_tis.c code.
then add &quot;tpm_tis.force=1 tpm_tis.interrupts=0&quot; to the kernel line.
</p><h4 id="h4-3-2..20Linux.20Kernel.202.6.30.20.28LIM.2FIMA.29">3-2. Linux Kernel 2.6.30 (LIM/IMA)</h4><p>note) the new eventlog reported by IMA is not supported by Trousers yet, since the eventlog format was changed. 
</p><p>e.g.
<pre>wget http://ftp.riken.jp/Linux/kernel.org/linux/kernel/v2.6/testing/linux-2.6.30-rc1.tar.bz2
tar xvfj linux-2.6.30-rc1.tar.bz2
cd linux-2.6.30-rc1

cp  /boot/config-$(uname -r) .config

make xconfig
make rpm

$ su -c 'rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/kernel-2.6.30rc1-1.x86_64.rpm'
$ su -c '/sbin/mkinitrd /boot/initrd-2.6.30-rc1.img 2.6.30-rc1'

</pre></p><p>Edit /boot/grub/grub.conf to add 2.6.30-rc1
(2.6.30 will not need &quot;ima=1&quot; kernel option, but in 2.6.31 will need &quot;ima_tcb=1&quot;)
, then reboot.
</p><p>/sys/kernel/security/ima/ascii_runtime_measurements
<pre>10 817c49849831408d9644f0211acd1cf6b5f11d72 ima c61c6ca6a34a76d58bf49a2609bd025c8786a4be boot_aggregate
10 c87f38a0c5e5f969ef2a9858ae08e5e9c060d2d5 ima 654cd04f9f1775de24c4d6b32c8f400fe630be63 /init
10 71ccedd1d3c118d3aed7ce6b2e3550928f56ef3d ima 2117139e75aae8b96ffbd81b2b76ba2e289248d9 /init
10 960937de5c7f27bbe737e09444ea567ab55dadd1 ima 81d18b105b656ff4619750d96f72973cae2700da ld-2.9.so
&lt;snip&gt;
</pre></p><p>/etc/tcsd.conf
<pre>system_ps_file = /var/lib/tpm/system.data
firmware_log_file = /sys/kernel/security/tpm0/binary_bios_measurements
firmware_pcrs = 0,1,2,3,4,5,6,7,8
</pre></p><h3 id="h3-4..20TSS">4. TSS</h3><h4 id="h4-4-1..20.21TrouSerS.20.28using.20Fedora10.20repo.29">4-1. TrouSerS (using Fedora10 repo)</h4><pre>$ su -c  'yum install trousers trousers-devel tpm-tools tpm-tools-devel'
</pre><p>Enable tcsd service. System-&gt;Administration-&gt;Services
</p><pre>$ /usr/sbin/tpm_version
  TPM 1.2 Version Info:
  Chip Version:        1.2.4.0
  Spec Level:          2
  Errata Revision:     2
  TPM Vendor ID:       INTC
  Vendor Specific data: 00040000 00030464
  TPM Version:         01010000
  Manufacturer Info:   494e5443
</pre><h4 id="h4-4-2..20.21TrouSerS.20.28from.20CVS.29">4-2. TrouSerS (from CVS)</h4><pre>$ cvs -d:pserver:anonymous@trousers.cvs.sourceforge.net:/cvsroot/trousers login
hit return when asked for password;
$ cvs -z3 -d:pserver:anonymous@trousers.cvs.sourceforge.net:/cvsroot/trousers co -P trousers
$ cvs -z3 -d:pserver:anonymous@trousers.cvs.sourceforge.net:/cvsroot/trousers co -P tpm-tools
</pre><pre>$ cd trousers
$ sh bootstrap.sh
$ ./configure --prefix=/usr --libdir=/usr/lib64
$ cd ..
$ ln -s trousers trousers-0.3.2cvs
$  tar cvfz ~/rpmbuild/SOURCES/trousers-0.3.2cvs.tar.gz ./trousers-0.3.2cvs/*
$ rpmbuild -ba  trousers-0.3.2cvs/dist/fedora/trousers.spec
</pre><p>note) please modify dist/Makefile.am if you want to remove groupadd feature
</p><pre>$ cd tpm-tools
$ sh bootstrap.sh
$ ./configure --prefix=/usr --libdir=/usr/lib64
</pre><p>Edit 
dist/tpm-tools-nopkcs11.spec
</p><pre>$ cd ..
$ ln -s tpm-tools tpm-tools-1.3.2cvs
$ tar cvfz ~/rpmbuild/SOURCES/tpm-tools-1.3.2cvs.tar.gz ./tpm-tools-1.3.2cvs/*
$ rpmbuild -ba  tpm-tools-1.3.2cvs/dist/tpm-tools-nopkcs11.spec
</pre><pre># rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/trousers-0.3.2cvs-1.x86_64.rpm
# rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/trousers-devel-0.3.2cvs-1.x86_64.rpm
# rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/tpm-tools-1.3.2cvs-1.x86_64.rpm
# rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/tpm-tools-devel-1.3.2cvs-1.x86_64.rpm
</pre><h3 id="h3-5..20Open.20Platform.20Trust.20Service">5. Open Platform Trust Service</h3><h4 id="h4-5-1..20openpts-tools.20package">5-1. openpts-tools package</h4><p>build.
<pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/tools.git
$ cd tools
$ make rpmbuild-ba
$ su -c 'rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/openpts-tools-0.1.3-git20090530.fc10.x86_64.rpm'
</pre></p><p>test.
<pre>$ /usr/bin/tpm_pcrread -a
pcr.0=fd696e0329f63bf288616865f86227aea0bff6af
pcr.1=4063c23534fc231a45a5e62cb1f0d306e6f4b46e
pcr.2=d68ec5b044f32933f6bf2488c1b36a0c3bc970e0
pcr.3=3a3f780f11a4b49969fcaa80cd6e3957c33b2275
pcr.4=0e764ceb8414213d60cd7806658c46727546c4b3
pcr.5=879a6daae2fdaeac689a979dd59a786bcbb75b67
pcr.6=585e579e48997fee8efd20830c6a841eb353c628
pcr.7=3a3f780f11a4b49969fcaa80cd6e3957c33b2275
pcr.8=7928d1771976b14d379e0d152c82d9f97c062e99
pcr.9=0000000000000000000000000000000000000000
pcr.10=6ac63a51abccd57745acb56207ef330312488370
pcr.11=0000000000000000000000000000000000000000
pcr.12=0000000000000000000000000000000000000000
pcr.13=0000000000000000000000000000000000000000
pcr.14=0000000000000000000000000000000000000000
pcr.15=0000000000000000000000000000000000000000
pcr.16=0000000000000000000000000000000000000000
pcr.17=ffffffffffffffffffffffffffffffffffffffff
pcr.18=ffffffffffffffffffffffffffffffffffffffff
pcr.19=ffffffffffffffffffffffffffffffffffffffff
pcr.20=ffffffffffffffffffffffffffffffffffffffff
pcr.21=ffffffffffffffffffffffffffffffffffffffff
pcr.22=ffffffffffffffffffffffffffffffffffffffff
pcr.23=0000000000000000000000000000000000000000
</pre></p><pre>$ /usr/bin/iml
 Idx PCR       Type    Digest                                EventData
-----------------------------------------------------------------------
   0   0 0x00000008 4081b13dc986e581d587aa7fe6c61e02ef7312b2 [BIOS:EV_S_CRTM_VERSION]
   1   0 0x00000001 8b5c22ae675ea440e2f403b4d5e88131fecc2a1c [BIOS:EV_POST_CODE(EV_CODE_NOCERT)]
&lt;snip&gt;
 183   4 0x0000000d dc717bf8fd6cadfc50e5d0a401eac1f93bdddc3e [BIOS:EV_IPL]
 184   4 0x0000000d a6814bcb5db0cf04d8dcab87eb28f5da08f8fb88 [GRUB:EV_IPL, Stage1(MBR)]
 185   4 0x0000000d 1b2db0cc9522e668216df23894622abae5a5bfb8 [GRUB:EV_IPL, Stage1.5]
 186   4 0x0000000d 2088cf4ac5161ed201988c4a7eef032edfcbe11c [GRUB:EV_IPL, Stage1.5(filesystem)]
 187   4 0x00000006 9c4f005da6861894101336242cf6a6b4f48932de [GRUB: measure MBR again]
 188   4 0x00000004 8cdc27ec545eda33fbba1e8b8dae4da5c7206972 [GRUB:EV_SEPARATOR, Grub Event Separator]
 189   5 0x00000004 d9be6524a5f5047db5866813acf3277892a7a30a [BIOS:EV_SEPARATOR, ffffffff]
 190   5 0x0000000e 26a08ab97c4bffb3dd84f4f6dbd3b475d22abe3f [BIOS:EV_IPL_PERTITION_DATA]
 191   5 0x00000004 8cdc27ec545eda33fbba1e8b8dae4da5c7206972 [GRUB:EV_SEPARATOR, Grub Event Separator]
 192   5 0x0000000e 9cd8a5fd7d52a7500aec4acad1ba165e1fed8786 [GRUB:grub.conf]
 193   5 0x00001105 791724465beff9845e79f6a7e38e5d8d7fe9a706 [GRUB:KERNEL_OPT /vmlinuz-2.6.30-rc2 ro root=/dev/VolGroup00/LogVol00 ima=1 tpm_tis.itpmfix=1 tpm_tis.force=1 tpm_tis.interrupts=0 numa=fake=2*512]
 194   5 0x00000004 2431ed60130faeaf3a045f21963f71cacd46a029 [GRUB:EV_SEPARATOR, OS Event Separator]
 195   6 0x00000005 017263855c5e8b20f2896a3135b8e4652ab1e708 [BIOS:EV_ACTION, WAKE EVENT 0]
 196   6 0x00000004 d9be6524a5f5047db5866813acf3277892a7a30a [BIOS:EV_SEPARATOR, ffffffff]
 197   7 0x00000004 d9be6524a5f5047db5866813acf3277892a7a30a [BIOS:EV_SEPARATOR, ffffffff]
 198   8 0x00001205 177f4ea8f72db0082f832667701f9d072b1f5df2 [GRUB:KERNEL /vmlinuz-2.6.30-rc2]
 199   8 0x00001305 4ecccf21df1f87f7203112bcf8555475cfdca7e9 [GRUB:INITRD /initrd-2.6.30-rc2.img]
 200   8 0x00000004 2431ed60130faeaf3a045f21963f71cacd46a029 [GRUB:EV_SEPARATOR, OS Event Separator]
 201   8 0x00001005 f3973cae05d6e2055062119d6e6e1e077b7df876 [GRUB:ACTION, Booting Linux Kenrel]
</pre><h4 id="h4-5-2..20openpts-core.20package">5-2. openpts-core package</h4><p>install required java packages
<pre>yum install java-devel ant ant-nodeps java-gcj-compat-devel
yum install jakarta-commons-logging jakarta-commons-codec log4j postgresql-jdbc
</pre></p><p>Get the source code from GIT repo.
<pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/core.git
$ cd core
</pre></p><p>Build and Install iBatis.
<pre>$ wget http://ftp.kddilabs.jp/infosystems/apache/ibatis/binaries/ibatis.java/ibatis-2.3.4.726.zip -O ~/rpmbuild/SOURCES/ibatis-2.3.4.726.zip
$ rpmbuild -ba  dist/ibatis.spec
$ su -c 'rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/ibatis-2.3.4.726-1.fc10.x86_64.rpm'
</pre></p><pre>$ make rpmbuild-ba
$ su -c 'rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/openpts-core-0.1.3-git20090613.fc10.x86_64.rpm'
</pre><p>note) make sure your JDK or JRE is Sun.
</p><p>Quick test. get IML from TSS, calc. PCR from IML, check current PCR
<pre>$ /usr/bin/iml -b -o binary_iml.log
$ /usr/bin/openpts iml --text --in binary_iml.log
--- PCR[0] CRTM, POST BIOS, and Embedded Option ROMs ---
 0 4081b13dc986e581d587aa7fe6c61e02ef7312b2,0x8,[EV_S_CRTM_VERSION[12]=0800feffffffffff05000000]
&lt;snip&gt;
PCR-00: FD 69 6E 03 29 F6 3B F2 88 61 68 65 F8 62 27 AE A0 BF F6 AF 
&lt;snip&gt;
$ /usr/bin/tpm_pcrread -p 0
pcr.0=fd696e0329f63bf288616865f86227aea0bff6af
</pre></p><h4 id="h4-5-3..20openpts-demo.20package">5-3. openpts-demo package</h4><p>build.
<pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/demo.git
$ cd demo
</pre></p><pre>$ rpmbuild -ba dist/rpm/jtreemap.spec
$ su -c 'rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/jtreemap-1.1.0-1.fc10.x86_64.rpm'
</pre><pre>$ make rpmbuild-ba
$ su -c 'rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/openpts-tcdemo-client-0.1.3-git20090613.fc10.x86_64.rpm'
</pre><p>test.
<pre># /usr/bin/ptsclientadmin
</pre></p><p>GUI program will start, 
Platform Information tab shows your platform's info/PCR/IML.
Next, goto Reference Manifest tab and Press &quot;Create/Update&quot; Button.
Then it generate new Reference Manifest(/var/lib/openpts/platform_rm.xml). 
Press View button, it will start firefox to see the XML file. 
</p><p>note) For LIM/IMA, it supports platform (BIOS/Bootloader) manifest only as for 2009/6/1.
</p><h3 id="h3-6..20Demo.20Setup">6. Demo Setup</h3><p>Setup the client and server on single machine.
</p><h4 id="h4-6-1..20Setup.20TC.20Client">6-1. Setup TC Client</h4><h5 id="h5-6-1-1..20Disable.20Pre-linking">6-1-1. Disable Pre-linking</h5><p>You need to disable prelink since it modify the executable (the digest will became an unique value for each machine).
Modify /etc/sysconfig/prelink file as follows:
<pre>PRELINKING=no
</pre></p><p>Undo prelink. this may take a while.
</p><pre># /usr/sbin/prelink -ua
</pre><h5 id="h5-6-1-2..20Take.20the.20TPM.20ownership">6-1-2. Take the TPM ownership</h5><p>The SRK password must be a default setting. Just enter for SRK password. 
<pre>$ tpm_takeownership
Enter owner password: ********
Confirm password: ********
Enter SRK password:
Confirm password:
</pre></p><p>If you get the following error message, The TPM has been taken the ownership.
</p><pre>Tspi_TPM_TakeOwnership failed: 0x00000008 - layer=tpm, code=0008 (8), The TPM target command has been disabled
</pre><p>And, If the size of &quot;/var/lib/tpm/system.data&quot; file is zero, your TSS forgot your ownership.
To fix this, you take ownership again, or you can put the dummy system.data file to enable TSS as follows.
<pre># cp demo/sampledata/knoppix/dummy_system.data /var/lib/tpm/system.data
# service tcsd restart
</pre></p><h5 id="h5-6-1-3..20Setup.20Demo.20Env">6-1-3. Setup Demo Env</h5><pre>/usr/bin/ptsclientadmin --commandline --user USERNAME
</pre><p>User's local configurations are stored at /home/$USERNAME/.pts
</p><h4 id="h4-6-2..20Setup.20Integiry.20and.20Vulnerability.20Database">6-2. Setup Integiry and Vulnerability Database</h4><h5 id="h5-6-2-1..20Install.20PostgreSQL">6-2-1. Install PostgreSQL</h5><pre># yum install postgresql-server
# service postgresql start
# chkconfig postgresql on
</pre><h5 id="h5-6-2-2..20Configure.20PostgreSQL">6-2-2. Configure PostgreSQL</h5><p>Set an admin password for postgres
</p><pre># passwd postgres
</pre><pre># cd /usr/lib64/openpts/database/
# sh dbsetup.sh
load /etc/openpts/db.conf
S) Setup New Databases
C) Show Current Configuration
L) Show State
B) Backup Databases
D) Delete Databases
Q) Exit

select:C

Current Configurations
DB type                               : postgres 
DB admin                              : ptsadmin 
DB user                               : ptsuser 
Vulnerability Database name           : vuldb 
Integrity Information Database 0 name : iidb_redhat 
Integrity Information Database 1 name : iidb_centos 
Integrity Information Database 2 name : iidb_knoppix 
Integrity Information Database 3 name : iidb_ubuntu 
Integrity Information Database 4 name : iidb_fedora 
Integrity Information Database 5 name : iidb 
Integrity Information Database 6 name : iidb 
Integrity Information Database 7 name : iidb_bios 
&lt;snip&gt;

select:S
&lt;snip&gt;
</pre><h5 id="h5-6-2-3..20Setup.20Integrity.20Information.20Database.20of.20current.20host">6-2-3. Setup Integrity Information Database of current host</h5><p>it takes few hours.
<pre># cd /var/lib/openpts
# sh /usr/lib64/openpts/scripts/rpm-all.sh fedora
Collect Package info of fedora
  package list...
  treemap data...
  metadata...
  md5 digests...

</pre></p><p>Create map file, &quot;/var/lib/openpts/database/ibatis/sqlMapsConfig.properties&quot;, e.g.
<pre>driver=org.postgresql.Driver
url_vul=jdbc:postgresql://localhost/vuldb
url_iidb0=jdbc:postgresql://localhost/iidb_redhat
url_iidb1=jdbc:postgresql://localhost/iidb_centos
url_iidb2=jdbc:postgresql://localhost/iidb_knoppix
url_iidb3=jdbc:postgresql://localhost/iidb_ubuntu
url_iidb4=jdbc:postgresql://localhost/iidb_fedora
url_iidb5=jdbc:postgresql://localhost/iidb
url_iidb6=jdbc:postgresql://localhost/iidb
url_iidb7=jdbc:postgresql://localhost/iidb
username=ptsadmin
password=password
</pre></p><p>Import RPM metadata/digest into IIDB. it takes time.
<pre># /usr/bin/openpts rpmimport --dbindex 4 --inputdir  /var/lib/openpts/fedora/data/
</pre></p><p>Check the IIDB using openpts command. e.g.
</p><pre># openpts iidb --list --index 4
IIDB index:	4
packages:	1622
measuremnets:	250925
 - vulnerable:
	package    	0
	measurement	0
 - safe:
	package    	0
	measurement	0
 - unclear:
	package    	0
	measurement	0
 - unchecked:
	package    	1622
	measurement	250925

# sha1sum /usr/sbin/acpid
b5e042dfeac3bb70a686be5abd1fcb6a9472c6de  /usr/sbin/acpid

# openpts iidb --search --index 4 --digest b5e042dfeac3bb70a686be5abd1fcb6a9472c6de
hexDigest     : b5e042dfeac3bb70a686be5abd1fcb6a9472c6de
id            : 47331
filename      : /usr/sbin/acpid
obsolete      : 0
vulnerability : 0
packageName : acpid-1.0.6-11.fc10.x86_64

</pre><h5 id="h5-6-2-4..20Setup.20Vulnerability.20Database">6-2-4. Setup Vulnerability Database</h5><p>Just fill CVE info into Vulnerability Database.
The database can not link with integrity database. 
Since there is no good source of Security Advisory for Fedora, OVAL only support RHEL.
</p><pre>/usr/bin/openpts cve --xmlfile http://nvd.nist.gov/download/nvdcve-2009.xml --outputdir /tmp
</pre><h5 id="h5-6-2-5..20Backup.20and.20restore.20database">6-2-5. Backup and restore database</h5><pre>$ pg_dump database_name &gt; file_name.sql
</pre><pre>$ psql -e database_name &lt; file_name.sql
$ pg_restore –d database_name file_name.sql
</pre><h5 id="h5-6-2-6..20View.20IIDB.2CVULDB.20using.20phpPgAdmin">6-2-6. View IIDB,VULDB using phpPgAdmin</h5><p><a href="http://localhost/phpPgAdmin/" class="external" rel="nofollow">http://localhost/phpPgAdmin/</a>
</p><h4 id="h4-6-3..20Setup.20Validation.20Server">6-3. Setup Validation Server</h4><h4 id="h4-6-3-X..20Setup.20TOMCAT">6-3-X. Setup TOMCAT</h4><pre># yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps 
</pre><p>/etc/sysconfig/tomcat5
</p><pre>JAVA_HOME=&quot;/usr/java/jdk1.6.0_12/&quot;
</pre><pre># rpm -ivh /home/foo/rpmbuild/RPMS/x86_64/openpts-tcdemo-server-0.1.3-git20090613.fc10.x86_64.rpm'
</pre><pre># /sbin/service tomcat5 start 
# chkconfig tomcat5 on
</pre><p><a href="http://localhost:8080/pva/" class="external" rel="nofollow">http://localhost:8080/pva/</a>
</p><p>Log file /var/log/tomcat5/catalina.out
</p><h4 id="h4-6-3-X..20Setup.20Demo.20Contents">6-3-X. Setup Demo Contents</h4><p>Create account, user &quot;guest&quot; and password &quot;given&quot;.
</p><pre># htpasswd -c /var/www/.htpasswd guest
</pre><p>Create demo contents
</p><pre># mkdir -p /var/www/html/tcdemo
</pre><p>Edit /var/www/html/tcdemo/index.html
</p><pre>&lt;html&gt;
&lt;head&gt;
&lt;title&gt; OpenPTS Test &lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt; OpenPTS Test &lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre><p>Edit /etc/httpd/conf/httpd.conf
</p><pre>...
&lt;Directory &quot;/var/www/html&quot;&gt;
...
AuthType Basic
AuthName &quot;Password Required&quot;
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
require valid-user

&lt;/Directory&gt;
...
</pre><pre># service httpd start
# chkconfig httpd on
</pre><p><a href="http://localhost/tcdemo" class="external" rel="nofollow">http://localhost/tcdemo</a>
</p><h4 id="h4-6-4..20Run.20TC.20Demo">6-4. Run TC Demo</h4><p>(OPTION) To monitor server-side validation log, open terminal
<pre>tailf /var/log/openpts.log
</pre></p><pre>/usr/bin/ptsclientuser --commandline 
</pre><p>if validation was success, it open <a href="http://localhost/tcdemo." class="external" rel="nofollow">http://localhost/tcdemo.</a>
</p><p>Congratulation! 
</p><h4 id="h4-6-5..20How.20to.20Debug.3F">6-5. How to Debug?</h4><h5 id="h5-6-4-1..20Configure.20log4j.20.28NG.29">6-4-1. Configure log4j (NG)</h5><p>/varlib/openpts/database/ibatis/commons-logging.properties  
</p><pre>org.apache.commons.logging.log=org.apache.commons.logging.impl.Log4JLogger
</pre><p>/var/lib/openpts/database/ibatis/log4j.properties
</p><pre>log4j.rootCategory=DEBUG, CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=/tmp/openpts.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%p %t %c - %m%n
</pre><hr />]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/GRUB-IMA">
    <title>GRUB-IMA</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/GRUB-IMA</link>
    <dc:identifier>GRUB-IMA</dc:identifier>
    <dc:date>2009-07-24T14:04:59+09:00</dc:date>
        <description>
      <![CDATA[== GRUB-IMA ==

This is the enhancement of Linux boot loader, GRUB for adding the TCG measurement capability. It supports TCG compliant PCs with TPM 1.1b and 1.2. Main features are:
 * Measurement ]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-GRUB-IMA">GRUB-IMA</h2><p>This is the enhancement of Linux boot loader, GRUB for adding the TCG measurement capability. It supports TCG compliant PCs with TPM 1.1b and 1.2. Main features are:
</p><ul><li>Measurement during the process of loading Grub
</li><li>Stage 1 measures the first sector of the stage 1.5 (or stage 2). Stage 1(=MBR) itself is measured by BIOS just when it is loaded.
</li><li>The first sector of stage 1.5 (or stage 2) measures the remaining sectors. Stage 1.5 measures the stage 2, too.
</li><li>Just after the Grub is booted, it measures the configuration file named grub.conf. Then it measures a number of files in the sequence specified in this configuration file.
</li></ul><p>Environment:
</p><ul><li>TCG 1.1b compliant PC. BIOS INT 1Ah/AX=0BBxxh must be supported.
</li><li>TCG functions must be enabled in the BIOS setting.
</li></ul><p>Links<br />
GNU GRUB <a href="http://www.gnu.org/software/grub/grub.html" class="external" rel="nofollow">http://www.gnu.org/software/grub/grub.html</a><br />
GNU GRUB Mailing List Archive <a href="http://lists.gnu.org/archive/html/bug-grub/" class="external" rel="nofollow">http://lists.gnu.org/archive/html/bug-grub/</a><br />
TCG <a href="https://www.trustedcomputinggroup.org/home" class="external" rel="nofollow">https://www.trustedcomputinggroup.org/home</a><br />
OLD Instruction <a href="http://trousers.sourceforge.net/grub.html" class="external" rel="nofollow">http://trousers.sourceforge.net/grub.html</a>
</p><h3 id="h3-List.20of.20Patches">List of Patches</h3><table class="wikitable" border="1"><tbody><tr><td> distro </td><td> patch </td></tr><tr><td> original 0.97 </td><td> </td></tr><tr><td> RHEL5/CentOS5 </td><td> <a href="http://sourceforge.net/projects/trousers/files/Grub-IMA/0.97-13-ima-1.1.0.0/grub-0.97-13-ima-1.1.0.0.tgz/download" class="external" rel="nofollow">http://sourceforge.net/projects/trousers/files/Grub-IMA/0.97-13-ima-1.1.0.0/grub-0.97-13-ima-1.1.0.0.tgz/download</a> </td></tr><tr><td> Fedora 7 </td><td> </td></tr><tr><td> Fedora 8 </td><td> </td></tr><tr><td> Fedora 9 </td><td> </td></tr><tr><td> Fedora 10 </td><td> <a href="http://sourceforge.jp/projects/openpts/downloads/40294/grub-0.97-38.fc10.ima-1.1.0.0.patch/">http://sourceforge.jp/projects/openpts/downloads/40294/grub-0.97-38.fc10.ima-1.1.0.0.patch/</a> </td></tr><tr><td> Fedora 11 </td><td> </td></tr><tr><td> Ubuntu 8.10 </td><td> <a href="http://sourceforge.jp/projects/openpts/downloads/37646/grub-0.97-29ubuntu45-ima-1.1.0.0.patch/">http://sourceforge.jp/projects/openpts/downloads/37646/grub-0.97-29ubuntu45-ima-1.1.0.0.patch/</a> </td></tr><tr><td> Ubuntu 9.04 </td><td> use above patch </td></tr></tbody></table><h3 id="h3-How.20to.20build.2Finstall.2Fuse">How to build/install/use</h3><h4 id="h4-RPM">RPM</h4><p>TBD
</p><h4 id="h4-DEB">DEB</h4><p>TBD
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuIntrepid">
    <title>HowToBuildForUbuntuIntrepid</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuIntrepid</link>
    <dc:identifier>HowToBuildForUbuntuIntrepid</dc:identifier>
    <dc:date>2009-07-24T09:10:12+09:00</dc:date>
        <description>
      <![CDATA[SORRY, This page was deprecated. 
Our Testbed has been moved to 9.04, see HowToBuildForUbuntuJaunty.

----

= Ubuntu Intrepid (8.10) =

This guide is intended to build Ubuntu Intrepid (8.10, i3]]>
    </description>
    <content:encoded>
      <![CDATA[<p>SORRY, This page was deprecated. 
Our Testbed has been moved to 9.04, see <a href="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuJaunty">HowToBuildForUbuntuJaunty</a>.
</p><hr /><h1 id="h1-Ubuntu.20Intrepid.20.288.10.29">Ubuntu Intrepid (8.10)</h1><p>This guide is intended to build Ubuntu Intrepid (8.10, i386) with Trusted Computing.
</p><div class="indent">
</div><h2 id="h2-1..20Install.20Ubuntu.20Desktop">1. Install Ubuntu Desktop</h2><p>Download ISO image. and install to your HDD.
</p><p>Update to be work with latest packages. 
</p><h2 id="h2-2..20Enable.20Integrity.20Measurement">2. Enable Integrity Measurement</h2><h3 id="h3-2.1..20Bootloader.20Component">2.1. Bootloader Component</h3><h3 id="h3-2.1.1.20GRUB-IMA">2.1.1 GRUB-IMA</h3><p>Download source package and build.
</p><pre>$ sudo apt-get build-dep grub
$ apt-get source grub
$ pushd grub-0.97/debian/patches/
$ wget http://osdn.dl.sourceforge.jp/openpts/37646/grub-0.97-29ubuntu45-ima-1.1.0.0.patch
$ popd
$ echo &quot;# This patch supports IMA&quot;              &gt;&gt; grub-0.97/debian/patches/00list
$ echo &quot;grub-0.97-29ubuntu45-ima-1.1.0.0.patch&quot; &gt;&gt; grub-0.97/debian/patches/00list
$ mv grub-0.97/debian/rules grub-0.97/debian/rules.orig
$ sed -e 's/--disable-auto-linux-mem-opt/--disable-auto-linux-mem-opt --enable-ima/g' grub-0.97/debian/rules.orig &gt; grub-0.97/debian/rules
$ chmod +x grub-0.97/debian/rules
</pre><p>Build deb package.
</p><pre>$ pushd grub-0.97
$ debchange -i
$ dpkg-buildpackage -rfakeroot -us -uc
$ pop
</pre><p>Install new GRUB package.
</p><pre>$ sudo dpkg -i grub_0.97-29ubuntu45.ima_i386.deb
$ grep TCG /usr/lib/grub/i386-pc/*
Binary file /usr/lib/grub/i386-pc/stage1 matches
Binary file /usr/lib/grub/i386-pc/stage2 matches
Binary file /usr/lib/grub/i386-pc/stage2_eltorito matches
</pre><p>install new GRUB to local system (replace the bootloader components).
</p><pre>$ sudo grub-install /dev/sda
$ grep TCG /boot/grub/*
Binary file /boot/grub/stage1 matches
Binary file /boot/grub/stage2 matches
</pre><p>OK:-)
</p><h3 id="h3-2.2..20Kernel.20Component">2.2. Kernel Component</h3><p>References:
<a href="https://help.ubuntu.com/community/Kernel/Compile" class="external" rel="nofollow">https://help.ubuntu.com/community/Kernel/Compile</a>
</p><h4 id="h4-2.2.1.20Linux-IMA.20Kernel.20Build">2.2.1 Linux-IMA Kernel Build</h4><p>This is original IMA patch using LSM.
The patch is available from <a href="http://sourceforge.net/projects/linux-ima" class="external" rel="nofollow">http://sourceforge.net/projects/linux-ima</a>
</p><pre>$ sudo apt-get build-dep linux-image-debug-$(uname -r)
$ apt-get source linux-image-debug-$(uname -r)
$ cd linux-2.6.27
$ debchange -i

$ wget http://nchc.dl.sourceforge.net/sourceforge/linux-ima/ibm_ima_8.5_2.6.27.6.patch
$ patch -p1 -z .ima &lt; ibm_ima_8.5_2.6.27.6.patch
patching file Documentation/ima/INSTALL
patching file Documentation/ima/integrity_measurements.txt
patching file Makefile
Hunk #1 succeeded at 629 (offset 10 lines).
patching file drivers/char/tpm/tpm.c
patching file drivers/char/tpm/tpm.h
patching file drivers/char/tpm/tpm_atmel.c
patching file drivers/char/tpm/tpm_infineon.c
patching file drivers/char/tpm/tpm_nsc.c
patching file drivers/char/tpm/tpm_tis.c
patching file include/linux/ima_module.h
patching file include/linux/tpm.h
patching file init/Kconfig
patching file kernel/module.c
patching file security/Kconfig
Hunk #1 FAILED at 117.
1 out of 1 hunk FAILED -- saving rejects to file security/Kconfig.rej
patching file security/Makefile
Hunk #2 FAILED at 15.
1 out of 2 hunks FAILED -- saving rejects to file security/Makefile.rej
patching file security/ima/Kconfig
patching file security/ima/Makefile
patching file security/ima/ima.h
patching file security/ima/ima_fs.c
patching file security/ima/ima_init.c
patching file security/ima/ima_lsmhooks.c
patching file security/ima/ima_main.c
patching file security/ima/ima_queue.c
</pre><p>some FAILED exist, since the <a href="http://sourceforge.jp/projects/openpts/wiki/AppArmor">AppArmor</a> patch was applied.
Manually fix security/Kconfig and security/Makefile files. 
Also it can not compile ubuntu/aufs/vfsub.c due to error. fix manually.
</p><pre>$ cp /boot/config-$(uname -r) .config
$ make -s xconfig 
OR
$ make -s menuconfig
</pre><pre>Device Driver &gt; Character devices &gt;  TPM hardware Supports = Y
Device Driver &gt; Character devices &gt;  TPM hardware Supports &gt; * Interface= Y
Cryptographic API &gt; SHA1 = Y
Security options &gt; Capability = N
Security options &gt; Smack = N
Security options &gt; TCG run-time Integrity Measuremenet = Y
</pre><pre>$ UBUNTUBUILD=1 DEBIAN_SRCTOP=./ CONCURRENCY_LEVEL=2 fakeroot make-kpkg -initrd kernel_image kernel_headers modules_image

$ cd ..
$ sudo dpkg -i linux-headers-2.6.27.10_2.6.27-11.27ubuntu.ima_i386.deb
$ sudo dpkg -i linux-image-2.6.27.10_2.6.27-11.27ubuntu.ima_i386.deb
</pre><p>Edit /boot/grub/menu.lst to enable IMA. e.g.
</p><pre>title		Ubuntu 8.10, kernel 2.6.27.10
uuid		31e82bb7-f3a8-4536-8b40-b3182c6872e2
kernel		/vmlinuz-2.6.27.10 root=UUID=7183f5c8-fc83-4554-b335-8440370ca77a ro quiet splash  crashkernel=384M-2G:64M@16M,2G-:128M@16M ima=1 selinux=0 apparmor=0 tpm_tis.force=1 tpm_tis.interrupts=0
initrd		/initrd.img-2.6.27.10
quiet
</pre><p>Reboot the system. and check the measurements
</p><pre>$ dmesg
&lt;snip&gt;
[    0.004000] Security Framework initialized
[    0.004000] SELinux:  Disabled at boot.
[    0.004000] AppArmor: AppArmor disabled by boottime parameter
&lt;snip&gt;
[    2.060007] tpm_tis tpm_tis: 1.2 TPM (device-id 0x1020, rev-id 6)
&lt;snip&gt;
[    5.896625] IBM Integrity Measurement Architecture (IBM IMA v8.4 08/27/2008).
[    5.896627]     IMA (test mode)
&lt;snip&gt;
$ ls /sys/kernel/security/
ima  tpm0
$  sudo cat /sys/kernel/security/ima/ascii_runtime_measurements 
10 ed83754d46a567afb945e5b1bfb5ac2ea3a4560d boot_aggregate
10 48059cf5953adb47e81146859ae02eb5d07ae261 /bin/sh
10 202e1dd4affcf58805f662290eb4a0d534be60f0 /bin/mkdir
10 b913e527d69496b5692cbc8bc2a97f49cd0be5a8 /lib/klibc-zUXi_KjK5ZQAIyc8jlwme9T6a4U.so
10 b8634abcb46d9c76567528fce662d00110dce97e /bin/mknod
10 30d6d100429132f64fb8b24f0c4c6011c5d819c1 /bin/cat
10 e4ece1b97ab901e6433c7f917615fc104ba3a4f8 /sbin/depmod
&lt;snip&gt;
10 49e97774326fc9eb5f7cb680477c1d56f4e28921 /usr/bin/sudo
&lt;snip&gt;
$ sha1sum /usr/bin/sudo
49e97774326fc9eb5f7cb680477c1d56f4e28921  /usr/bin/sudo
</pre><p>OK.
</p><h3 id="h3-2.3.20Useland.20Components">2.3 Useland Components</h3><h4 id="h4-2.3.1.20.21TrouSerS">2.3.1 TrouSerS</h4><pre>$ sudo apt-get install trousers
</pre><h4 id="h4-2.3.2.20tpm-tools">2.3.2 tpm-tools</h4><pre>$ sudo apt-get install tpm-tools

$ tpm_version
  TPM 1.2 Version Info:
  Chip Version:        1.2.4.0
  Spec Level:          2
  Errata Revision:     2
  TPM Vendor ID:       INTC
  Vendor Specific data: 00040000 00030464
  TPM Version:         01010000
  Manufacturer Info:   494e5443
</pre><h4 id="h4-2.3.5.20.21OpenPlatformTrustServices">2.3.5 OpenPlatformTrustServices</h4><pre>$ sudo apt-get install trousers libtspi-dev tpm-tools libtpm-unseal0 libtpm-unseal-dev
$ sudo apt-get install libcommons-codec-java libcommons-logging-java libpg-java liblog4j1.2-java libibatis-java

$ sudo apt-get install libcommons-discovery-java libaxis-java

$ sudo apt-get install liblog4j1.2-java-gcj libaxis-java-gcj
</pre><h4 id="h4-2.3.5.1.20Build.20and.20Install.20.3A.20.21OpenPlatformTrustServices.20Tools.20Package">2.3.5.1 Build and Install : OpenPlatformTrustServices Tools Package</h4><p>From GIT repository (2009-02-22)
</p><pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/tools.git
$ cd tools
$ make dpkg-buildpackage
$ sudo dpkg -i ../openpts-tools_0.1.3-git20090331_i386.deb
</pre><pre>$ /usr/bin/tpm_pcrread -a
pcr.0=fd696e0329f63bf288616865f86227aea0bff6af
pcr.1=0f028024e085e43db5bd29cf771acbb8ab4fb473
pcr.2=d68ec5b044f32933f6bf2488c1b36a0c3bc970e0
pcr.3=3a3f780f11a4b49969fcaa80cd6e3957c33b2275
pcr.4=db8be6e34e5f2c5c4b11f918aec25fe7333f6471
pcr.5=b74a56f449507542c3ad1def88e0e34617c3ba8f
pcr.6=585e579e48997fee8efd20830c6a841eb353c628
pcr.7=3a3f780f11a4b49969fcaa80cd6e3957c33b2275
pcr.8=55e50e41bec4225964925f4db2fd1781011ca188
pcr.9=0000000000000000000000000000000000000000
pcr.10=a99b9181fc6f73d30e44442965b9a546b9b9a643
pcr.11=0000000000000000000000000000000000000000
pcr.12=0000000000000000000000000000000000000000
pcr.13=0000000000000000000000000000000000000000
pcr.14=0000000000000000000000000000000000000000
pcr.15=0000000000000000000000000000000000000000
pcr.16=0000000000000000000000000000000000000000
pcr.17=ffffffffffffffffffffffffffffffffffffffff
pcr.18=ffffffffffffffffffffffffffffffffffffffff
pcr.19=ffffffffffffffffffffffffffffffffffffffff
pcr.20=ffffffffffffffffffffffffffffffffffffffff
pcr.21=ffffffffffffffffffffffffffffffffffffffff
pcr.22=ffffffffffffffffffffffffffffffffffffffff
pcr.23=0000000000000000000000000000000000000000
</pre><pre>$ iml -p 4
 Idx PCR       Type    Digest                                EventData
-----------------------------------------------------------------------
 179   4 0x80000003 9b4d80cfefc7d5576c4d9f224872505896ef2798 [BIOS:LENOVO NEW(TBD) len=10,00001000000000000010]
 180   4 0x00000004 d9be6524a5f5047db5866813acf3277892a7a30a [BIOS:EV_SEPARATOR, ffffffff]
 181   4 0x00000005 c1e25c3f6b0dc78d57296aa2870ca6f782ccf80f [BIOS:EV_ACTION, Calling INT 19h]
 182   4 0x00000005 6ab91c9fbe9489ea35f226ec70e23c7bb09db9a3 [BIOS:EV_ACTION, Booting BCV Device 80h, - HITACHI HTS541616J9SA00-(S1)]
 183   4 0x0000000d c72cb355f3c9978fa9f15ec692264356c7328855 [BIOS:EV_IPL]
 184   4 0x0000000d b82f5fa84465edfc054591b059bb65ea54f67282 [GRUB:EV_IPL, Stage1(MBR)]
 185   4 0x0000000d d4fa72b193753834e25ca5dc420f9c23d14c6087 [GRUB:EV_IPL, Stage1.5]
 186   4 0x0000000d 55fc0eb1ceb08bf75cdd3fb1f0235d8471b748d3 [GRUB:EV_IPL, Stage1.5(filesystem)]
 187   4 0x00000006 9fc81a0038d3a3ffdbc053b2eb13b28a8db461cd [GRUB: measure MBR again]
 188   4 0x00000004 8cdc27ec545eda33fbba1e8b8dae4da5c7206972 [GRUB:EV_SEPARATOR, Grub Event Separator]
</pre><p>OK :-)
</p><h4 id="h4-2.3.5.2.20Build.20and.20Install.20.3A.20.21OpenPlatformTrustServices.20Core.20package">2.3.5.2 Build and Install : OpenPlatformTrustServices Core package</h4><pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/core.git
$ cd tools
$ make dpkg-buildpackage
$ sudo dpkg -i ../openpts-core_0.1.3-1_i386.deb
$ sudo dpkg -i ../openpts-core-gcj_0.1.3-1_i386.deb
</pre><pre>$ 

</pre><h4 id="h4-2.3.5.2.20Build.20and.20Install.20.3A.20.21OpenPlatformTrustServices.20DEMO.20package">2.3.5.2 Build and Install : OpenPlatformTrustServices DEMO package</h4><pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/demo.git
$ cd tools
$ make dpkg-buildpackage
$ sudo dpkg -i ../openpts-tcdemo-client_0.1.3-git20090405_i386.deb
$ sudo dpkg -i ../openpts-tcdemo-client-gcj_0.1.3-git20090405_i386.deb
$ sudo dpkg -i ../openpts-tcdemo-server_0.1.3-git20090405_i386.deb
</pre><h2 id="h2-3..20memo">3. memo</h2><h4 id="h4-3.1.1.20GRUB-IMA.3A.20Testing.20grub-0.97-13-ima-1.1.0.0.20patch">3.1.1 GRUB-IMA: Testing grub-0.97-13-ima-1.1.0.0 patch</h4><pre>$ apt-get source grub
$ cd grub-0.97
$ dpkg-buildpackage -rfakeroot -us -uc

$ wget http://jaist.dl.sourceforge.net/sourceforge/trousers/grub-0.97-13-ima-1.1.0.0.tgz
$ tar xvfz grub-0.97-13-ima-1.1.0.0.tgz
$ patch -p1 -z ima &lt; ./grub-0.97-13-ima-1.1.0.0/grub-0.97-13-ima-1.1.0.0.patch
patching file configure.ac
Hunk #2 FAILED at 665.
1 out of 2 hunks FAILED -- saving rejects to file configure.ac.rej
patching file stage1/stage1.h
patching file stage1/stage1.S
patching file stage2/asm.S
Hunk #1 succeeded at 2612 (offset 134 lines).
patching file stage2/boot.c
Hunk #1 succeeded at 32 with fuzz 2 (offset 2 lines).
Hunk #2 succeeded at 64 (offset 2 lines).
Hunk #3 succeeded at 97 (offset 2 lines).
Hunk #4 succeeded at 801 (offset 11 lines).
Hunk #5 succeeded at 832 (offset 11 lines).
Hunk #6 succeeded at 921 (offset 11 lines).
patching file stage2/builtins.c
Hunk #1 succeeded at 122 (offset 14 lines).
Hunk #2 succeeded at 170 (offset 14 lines).
Hunk #3 succeeded at 314 (offset -20 lines).
Hunk #4 succeeded at 361 (offset -20 lines).
Hunk #5 succeeded at 371 (offset -20 lines).
Hunk #6 succeeded at 491 (offset -19 lines).
Hunk #7 succeeded at 504 (offset -19 lines).
Hunk #8 succeeded at 578 (offset -19 lines).
Hunk #9 succeeded at 2101 (offset 106 lines).
Hunk #10 succeeded at 2146 (offset 106 lines).
Hunk #11 succeeded at 2771 (offset 97 lines).
Hunk #12 succeeded at 2815 (offset 97 lines).
Hunk #13 succeeded at 2849 (offset 97 lines).
Hunk #14 succeeded at 2870 (offset 97 lines).
Hunk #15 succeeded at 2889 (offset 97 lines).
Hunk #16 succeeded at 3065 (offset 97 lines).
Hunk #17 succeeded at 3121 (offset 97 lines).
Hunk #18 succeeded at 3165 (offset 97 lines).
Hunk #19 succeeded at 3465 (offset 104 lines).
Hunk #20 FAILED at 5375.
Hunk #21 succeeded at 5847 (offset 351 lines).
Hunk #22 succeeded at 5892 with fuzz 1 (offset 354 lines).
1 out of 22 hunks FAILED -- saving rejects to file stage2/builtins.c.rej
patching file stage2/shared.h
Hunk #1 succeeded at 373 (offset -2 lines).
Hunk #2 succeeded at 1011 (offset 4 lines).
patching file stage2/start.S
patching file stage2/stage1_5.c
patching file stage2/stage2.c
Hunk #1 succeeded at 582 (offset 16 lines).
Hunk #2 succeeded at 978 (offset -31 lines).
patching file stage2/ima.h
patching file stage2/ima.c
patching file stage2/start_eltorito.S
patching file stage2/Makefile.am
Hunk #1 succeeded at 109 (offset 12 lines).

Manually apply rejected patches, configure.ac.rej and stage2/builtins.c.rej

$ aclocal-1.9 &amp;&amp; automake-1.9 &amp;&amp; autoconf
CC=gcc LDFLAGS=-Wl,-Bsymbolic-functions ./configure \
		--host=i486-linux-gnu \
		--build=i486-linux-gnu \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--disable-auto-linux-mem-opt --enable-ima

$ make
$ sudo make install
$ grep TCG /usr/lib/grub/i386-pc/*
Binary file /usr/lib/grub/i386-pc/stage1 matches
Binary file /usr/lib/grub/i386-pc/stage2 matches
Binary file /usr/lib/grub/i386-pc/stage2_eltorito matches


$ sudo grub-install /dev/sda
Searching for GRUB installation directory ... found: /boot/grub
Installing GRUB to /dev/sda as (hd0)...
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0)	/dev/sda
(hd1)	/dev/sdb

$ grep TCG /boot/grub/*
Binary file /boot/grub/stage1 matches
Binary file /boot/grub/stage2 matches
</pre><p>Reboot and check the measurement.
</p><pre>$ reboot
$ sudo modprobe tpm_tis force=1 interrupt=0
$ sudo less /sys/kernel/security/tpm0/ascii_bios_measurements
&lt;snip&gt;
 4 1d1ff5054e9cf7bf546fa42433b8fae0f25f00a4 0d [IPL]
 5 e94b3d1db138c8fae4e24caa215aed0e1ba8ef9a 0e [IPL Partition Data]
 4 b82f5fa84465edfc054591b059bb65ea54f67282 0d [IPL]
 4 d4fa72b193753834e25ca5dc420f9c23d14c6087 0d [IPL]
 4 463c5c57665fd7c60eba7fd3d650960e97344129 0d [IPL]
 4 2e7bc2484bfcf3314fb2a862fd538eabf7a172f8 06 []
 4 8cdc27ec545eda33fbba1e8b8dae4da5c7206972 04 [Grub Event Separator]
 5 8cdc27ec545eda33fbba1e8b8dae4da5c7206972 04 [Grub Event Separator]
 5 fe2c7e55d455f98be04eeb9c359bd6eb2ad86af5 0e [IPL Partition Data]
 5 d63d12ced978aca120bfe6ee7683e394c2ffaef0 05 [Boot Sequance User Intervention]
 5 5a138fa63f0ec58a2ebd9be12e400c22ceefffa7 1105 []
 8 ed3cc112f2f583be1c4866f21628d35844239500 1205 []
 8 0c58b59507f08ebfe876aa8fca53a8ff6744c582 1305 []
 5 2431ed60130faeaf3a045f21963f71cacd46a029 04 [OS Event Separator]
 8 2431ed60130faeaf3a045f21963f71cacd46a029 04 [OS Event Separator]
 8 fac33a1fc0ad42c07d00322d64c23f67567f334a 1005 []
</pre><h4 id="h4-3.1.2.20GRUB-IMA.3A.20Create.20grub-0.97-29ubuntu45-ima-1.1.0.0.patch">3.1.2 GRUB-IMA: Create grub-0.97-29ubuntu45-ima-1.1.0.0.patch</h4><p>OK, update the patch for Ubuntu.
<pre>$ cd ..
$ mv grub-0.97 grub-0.97-ima
$ apt-get source grub
$ cd grub-0.97
$ dpkg-buildpackage -rfakeroot -us -uc

$ files=&quot;configure.ac stage1/stage1.h stage1/stage1.S stage2/asm.S stage2/boot.c stage2/builtins.c stage2/shared.h stage2/start.S stage2/stage1_5.c stage2/stage2.c stage2/ima.h stage2/ima.c stage2/start_eltorito.S stage2/Makefile.am&quot;
$ for file in $files ; do diff -urN grub-0.97/$file grub-0.97-ima/$file &gt;&gt; grub-0.97-29ubuntu45-ima-1.1.0.0.patch; done

$ rm -rf grub-0.97
$ apt-get source grub
$ cp grub-0.97-29ubuntu45-ima-1.1.0.0.patch grub-0.97/debian/patches/
$ echo &quot;# This patch supports IMA&quot;              &gt;&gt; grub-0.97/debian/patches/00list
$ echo &quot;grub-0.97-29ubuntu45-ima-1.1.0.0.patch&quot; &gt;&gt; grub-0.97/debian/patches/00list
$ mv grub-0.97/debian/rules grub-0.97/debian/rules.orig
$ sed -e 's/--disable-auto-linux-mem-opt/--disable-auto-linux-mem-opt --enable-ima/g' grub-0.97/debian/rules.orig &gt; grub-0.97/debian/rules
$ chmod +x grub-0.97/debian/rules

$ cd grub-0.97
$ dpkg-buildpackage -rfakeroot -us -uc
$ cd ..
$ sudo dpkg -i grub_0.97-29ubuntu45_i386.deb
$ grep TCG /usr/lib/grub/i386-pc/*
Binary file /usr/lib/grub/i386-pc/stage1 matches
Binary file /usr/lib/grub/i386-pc/stage2 matches
Binary file /usr/lib/grub/i386-pc/stage2_eltorito matches
</pre></p><p>OK.
</p><h4 id="h4-3.2.20Test.20Linux.20Kernel.20Build.20.28Option.29">3.2 Test Linux Kernel Build (Option)</h4><p>Download source package and test the kernel build.
<pre>$ sudo apt-get build-dep linux-image-debug-$(uname -r)
$ apt-get source linux-image-debug-$(uname -r)
$ cd linux-2.6.27
$ cp /boot/config-$(uname -r) .config
$ make oldconfig
$ CONCURRENCY_LEVEL=2 UBUNTUBUILD=1 DEBIAN_SRCTOP=./ fakeroot make-kpkg -initrd kernel_image kernel_headers modules_image

$ dpkg-buildpackage -rfakeroot -us -uc
</pre></p><p>OK? 
</p><h4 id="h4-3.3.20Test.20Trousers.20Build.20.28Option.29">3.3 Test Trousers Build (Option)</h4><p>Ubuntu package does not support GTK.
to enable GTK feature (popup password), re-build the trousers with GTK option. 
</p><pre>$ sudo apt-get build-dep trousers
$ apt-get source trousers
$ cd trousers-0.3.1
$ dpkg-buildpackage -rfakeroot -us -uc
</pre><hr /><p>OLD instruction 
</p><pre>$ wget http://iij.dl.sourceforge.jp/openpts/32519/OpenPlatformTrustServices-0.1.2.tar.gz
$ tar xzvf OpenPlatformTrustServices-0.1.2.tar.gz
$ mv OpenPlatformTrustServices-0.1.2 openplatformtrustservices-0.1.2
$ munetoh@munetoh-laptop:~/sandbox$ mv OpenPlatformTrustServices-0.1.2.tar.gz openplatformtrustservices-0.1.2.tar.gz
$ cd openplatformtrustservices-0.1.2
$ dh_make -e munetoh@sourceforge.jp -f ../openplatformtrustservices-0.1.2.tar.gz
$ sudo  make setup-jars
</pre><p>Add &quot;(MAKE) all&quot; in debian/rules.
</p><pre>$ dpkg-buildpackage -rfakeroot
$ cd ..
$ sudo dpkg -i openplatformtrustservices_0.1.2-1_i386.deb
</pre><h4 id="h4-2.3.5.3.20Build.20and.20Install.20.3A.20OpenPlatformTrustServices.20Demo.3D.3D.3D.3D">2.3.5.3 Build and Install : <a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a> Demo====</h4><p>Build process needs to fix later.
</p><pre>$ wget http://osdn.dl.sourceforge.jp/openpts/32520/OpenPlatformTrustServices-tcdemo-0.1.2.tar.gz
$ tar xzvf OpenPlatformTrustServices-tcdemo-0.1.2.tar.gz
$ mv OpenPlatformTrustServices-tcdemo-0.1.2 openplatformtrustservices-tcdemo-0.1.2
$ mv OpenPlatformTrustServices-tcdemo-0.1.2.tar.gz openplatformtrustservices-tcdemo-0.1.2.tar.gz
$ cd openplatformtrustservices-tcdemo-0.1.2
$ dh_make -e munetoh@sourceforge.jp -f ../openplatformtrustservices-tcdemo-0.1.2.tar.gz
$ sudo  make setup-jars
</pre><p>Fix debian/rules to have.
</p><div class="indent">(MAKE) all
(MAKE) so
(MAKE) install-so 
(MAKE) jpp
</div><pre>$ sudo dpkg-buildpackage -rfakeroot
$ cd ..
$ sudo dpkg -i openplatformtrustservices-tcdemo_0.1.2-1_i386.deb
</pre><h4 id="h4-2.3.5.4.20Setup.20Demo.20Client.20.28TBD.29">2.3.5.4 Setup Demo Client (TBD)</h4><p>Take TPM ownership. here, SRK password is null.
</p><pre>$ tpm_takeownership
Enter owner password: ********
Confirm password: ********
Enter SRK password:
Confirm password:
</pre><p>Current demo package does not support Ubuntu.
</p><pre>$ sudo cp -r openplatformtrustservices-tcdemo-0.1.2/sampledata/knoppix /opt/OpenPlatformTrustServices/tcdemo
$ sudo cp openplatformtrustservices-tcdemo-0.1.2/sampledata/server/* /opt/OpenPlatformTrustServices/tcdemo/
$ cd /opt/OpenPlatformTrustServices/tcdemo
$ cp TCDEMO_UserTool.desktop /home/$USER/Desktop/

export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.10

$ /opt/OpenPlatformTrustServices/bin/openpts manifest --create --platform --model platform_model.properties --prop ./tcdemo.properties
log4j:WARN No appenders could be found for logger (com.ibm.trl.tcg.pts.eventlog.IML).
log4j:WARN Please initialize the log4j system properly.
Internal Error
java.lang.Exception: no Trans?
	at com.ibm.trl.tcg.pts.engine.FiniteStateMachine.generateRuntimeModelByEventlog(Unknown Source)
	at com.ibm.trl.tcg.pts.integrity.ReferenceManifest.generatePlatformReferenceManifest(Unknown Source)
	at com.ibm.trl.tcg.pts.integrity.ReferenceManifest.generatePlatformReferenceManifestByProp(Unknown Source)
	at com.ibm.trl.tcg.pts.integrity.ReferenceManifest.main(Unknown Source)
	at com.ibm.trl.tcg.pts.PlatformTrustServices.main(Unknown Source)

Uhmmm, Current BIOS (Thinkpad X200) transition was not supported yet.


$ /opt/OpenPlatformTrustServices/bin/openpts manifest --create --knoppix --model knoppix_model.properties --prop ./tcdemo.properties
log4j:WARN No appenders could be found for logger (com.ibm.trl.tcg.pts.integrity.ReferenceManifest).
log4j:WARN Please initialize the log4j system properly.
Internal Error
java.lang.Exception: Grub Install path is not found. .//usr/share/grub/i386-pc
	at com.ibm.trl.tcg.pts.eventlog.RuntimeDigest.&lt;init&gt;(Unknown Source)
	at com.ibm.trl.tcg.pts.integrity.ReferenceManifest.generateKnoppixReferenceManifest(Unknown Source)
	at com.ibm.trl.tcg.pts.integrity.ReferenceManifest.generateKnoppixReferenceManifestByProp(Unknown Source)
	at com.ibm.trl.tcg.pts.integrity.ReferenceManifest.main(Unknown Source)
	at com.ibm.trl.tcg.pts.PlatformTrustServices.main(Unknown Source)

$ sudo /opt/OpenPlatformTrustServices/bin/openpts manifest --create --runtime --model runtime_model.properties --prop ./tcdemo.properties
log4j:WARN No appenders could be found for logger (com.ibm.trl.tcg.pts.integrity.ReferenceManifest).
log4j:WARN Please initialize the log4j system properly.


$ sudo make start-client-admin-gcj
$ sudo make start-client-user-gcj

</pre><h4 id="h4-2.3.5.5.20Setup.20Local.20Integrity.20Database">2.3.5.5 Setup Local Integrity Database</h4><pre></pre><p>EOF</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/EclipseGuide">
    <title>EclipseGuide</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/EclipseGuide</link>
    <dc:identifier>EclipseGuide</dc:identifier>
    <dc:date>2009-06-01T14:01:51+09:00</dc:date>
        <description>
      <![CDATA[under construction. welcome any comments or suggestions on this instruction.

----

== Eclipse Users Guide ==

OpenPTS was developed by Eclipse 3.2 and NEC System Director Application Modeler (S]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction. welcome any comments or suggestions on this instruction.
</p><hr /><h2 id="h2-Eclipse.20Users.20Guide">Eclipse Users Guide</h2><p>OpenPTS was developed by Eclipse 3.2 and NEC System Director Application Modeler (SDAM) v2.0.
You can use latest version of Eclipse but SDAM can't support UML export. 
If you want to modify the UML Transitive Trust Model, please use Eclipse 3.2.
</p><h3 id="h3-Checkout">Checkout</h3><pre>$ git clone git://git.sourceforge.jp/gitroot/openpts/core.git
</pre><h3 id="h3-Classpath">Classpath</h3><p>GIT repo contans .classpath file. jar files should be places in ./lib directory.
To create a symbolic-link for them.
<pre>$ make eclipse-setup-fedora
</pre></p><p>OR
</p><pre>$ make eclipse-setup-ubuntu
</pre><p>then all build errors will gone.
</p><h3 id="h3-Run.20Application">Run Application</h3><p>Right click demo/src/tcdemo/swing/<a href="http://sourceforge.jp/projects/openpts/wiki/ClientAdmin">ClientAdmin</a>.java, then select Run As./Run
</p><p>Set Program Arguments: &quot;--propdir config/fedora10&quot; for Fedora and &quot;--propdir config/ubuntu810&quot; for Ubuntu at Argument tab.
</p><p>Then, press the run button.
</p><h3 id="h3-Logging">Logging</h3><p>OpenPTS uses log4j. the configuration files are:
</p><p>core/src/commons-logging.properties<br />
core/src/log4j.properties<br />
demo/src/commons-logging.properties<br />
demo/src/log4j.properties<br />
</p><p>For DEBUG, set the log4j.rootCategory to your appropriate value (FATAL, ERROR, WARN, INFO, DEBUG)
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HackingLinuxTpmDeviceDriver">
    <title>HackingLinuxTpmDeviceDriver</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HackingLinuxTpmDeviceDriver</link>
    <dc:identifier>HackingLinuxTpmDeviceDriver</dc:identifier>
    <dc:date>2009-02-14T10:13:24+09:00</dc:date>
        <description>
      <![CDATA[Under Construction...

----

If you can not detect a TPM on your machine.

=== 1. Check HW spec ===

==== 1-1. Check the Windows XP device driver info  ==== 
http://www-06.ibm.com/jp/domino05]]>
    </description>
    <content:encoded>
      <![CDATA[<p>Under Construction...
</p><hr /><p>If you can not detect a TPM on your machine.
</p><h3 id="h3-1..20Check.20HW.20spec">1. Check HW spec</h3><h4 id="h4-1-1..20Check.20the.20Windows.20XP.20device.20driver.20info">1-1. Check the Windows XP device driver info</h4><p><a href="http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-66306" class="external" rel="nofollow">http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-66306</a>
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M55 Small （タイプ 8800, 8808）
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M55 Tower （タイプ 8802, 8811）
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M55 Ultra Small （タイプ 8799, 8009, 8803, 8807）
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkStation">ThinkStation</a> S10（タイプ 6483, 6423）
uses Broadcom TPm chip.
</p><p><a href="http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-66304" class="external" rel="nofollow">http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-66304</a>
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M55p Small （タイプ 8800, 8808）
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M55p Tower （タイプ 8811） 
uses Atmel TPM chip.
</p><p><a href="http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-58054" class="external" rel="nofollow">http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-58054</a>
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> R60, R60e, R61
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> T42, T42p
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> T60, T60p, T61, T61p
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> X300
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> X41, X41 Tablet
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> X60, X60s, X60 Tablet
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> X61, X61s, X61 Tablet
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> Z60m, Z60t
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> Z61e, Z61m, Z61p, Z61t
uses Atmel TPM 1.2 chip.
</p><p><a href="http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-70813" class="external" rel="nofollow">http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-70813</a>
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M58 Small (タイプ 7174, 6258)
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M58 Tower (タイプ 7244, 6239)
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M58 Ultra Small (タイプ 7187)
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M58p Small (タイプ 7346, 7220, 6137, 6234)
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M58p Tower (タイプ 7347, 7188, 6138, 6209)
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkCentre">ThinkCentre</a> M58p Ultra Small (タイプ 7345, 6136) 
uses Winbond TPM 1.2 chip.
</p><p><a href="http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-70123" class="external" rel="nofollow">http://www-06.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/MIGR-70123</a>
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> R400
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> R500
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> T400
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> T500
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> W500
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> W700
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> X200, X200, X200 Tablet
<a href="http://sourceforge.jp/projects/openpts/wiki/ThinkPad">ThinkPad</a> X301 uses Intel Integrated TPM.
</p><div class="indent">
</div><h3 id="h3-2..20Check.20Linux.20Kernel.20supports.20TPM.20or.20not">2. Check Linux Kernel supports TPM or not</h3><h4 id="h4-2.1..20Check.20Kernel.20Configulation">2.1. Check Kernel Configulation</h4><p>Check /boot/config-XXXX file, which may have the following lines 
<pre>CONFIG_PNPACPI=y
CONFIG_PNP=y
CONFIG_TCG_TPM=m
CONFIG_TCG_TIS=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
</pre></p><h4 id="h4-2.2..20Install.20Linux.20TPM.20Driver">2.2. Install Linux TPM Driver</h4><p>e.g. Thinkpad X60
</p><pre># /sbin/modprobe tpm_tis
# dmesg | tail
&lt;snip&gt;
tpm_tis 00:0b: 1.2 TPM (device-id 0x3202, rev-id 5)
# cat /sys/class/misc/tpm0/device/id
ATM1200
PNP0c31
</pre><pre>/sbin/modprobe tpm_tis force=1 interrupts=0
</pre><p>e.g. Intel iTPM on GM45 
<pre># cat /sys/class/misc/tpm0/device/caps
Manufacturer: 0x494e5443
</pre></p><h4 id="h4-2.3..20mount.20security.20fs">2.3. mount security fs</h4><pre># mount -t securityfs none /sys/kernel/security
# cat /sys/kernel/security/tpm0/ascii_bios_measurements
 0 13cb4e01fde5d83f521ce265a6a0d5eeb0114daf 08 [S-CRTM Version]
 0 b5b241ead6d2ff8e5f8c049f1e8bc157bb71b190 01 [POST CODE]
 0 ec5446d7e84aa3bc22a5dd7fb0a290831dce5818 01 [POST CODE]
&lt;snip&gt;
</pre><p>Add following line to /etc/fstab
<pre>securityfs /sys/kernel/security securityfs rw 0 0
</pre></p><h3 id="h3-3..20Where.20is.20TPM">3. Where is TPM</h3><h4 id="h4-3.1..20Check.20BIOS.20ACPI.20Table">3.1. Check BIOS ACPI Table</h4><p>Install iasl.  e.g. yum install iasl
</p><pre>cat /proc/acpi/dsdt &gt; dsdt.dat
iasl -d dsdt.dat
</pre><p>File, dsdt.dsl is generated. 
</p><p>Thinkpad X60, Atmel TPM v1.2
<pre>                Device (TPM)
                {
                    Name (_HID, EisaId (&quot;ATM1200&quot;))
                    Name (_CID, 0x310CD041)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (And (\TPMP, 0x01))
                        {
                            Store (0x0F, Local0)
                        }
                        Else
                        {
                            Store (0x00, Local0)
                        }

                        Return (Local0)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0xFED40000,         // Address Base
                            0x00001000,         // Address Length
                            )
                    })

</pre></p><p>This is typical definition.  &quot;ATM1200&quot; is the device ID.
</p><p>Thinkpad X200, Intel iTPM
<pre>&lt;snip&gt;
                Device (TPM)
                {
                    Method (_HID, 0, NotSerialized)
                    {
                        TPHY (0x00)
                        If (LEqual (TPMV, 0x01))
                        {
                            Return (0x0201D824)
                        }

                        If (LEqual (TPMV, 0x02))
                        {
                            Return (0x0435CF4D)
                        }

                        If (LEqual (TPMV, 0x03))
                        {
                            Return (0x02016D08)
                        }

                        If (LEqual (TPMV, 0x04))
                        {
                            Return (0x01016D08)
                        }

                        If (LOr (LEqual (TPMV, 0x05), LEqual (TPMV, 0x06)))
                        {
                            Return (0x0010A35C)
                        }

                        If (LEqual (TPMV, 0x08))
                        {
                            Return (0x00128D06)
                        }

                        If (LEqual (TPMV, 0x09))
                        {
                            Return (&quot;INTC0102&quot;)
                        }

                        Return (0x310CD041)
                    }

                    Name (_CID, 0x310CD041)
                    Name (_UID, 0x01)
&lt;snip&gt;
</pre>This is new definiton. It seems current Linux PnP driver can't support this. use force=1 option with tpm_tis driver.
</p><h4 id="h4-3.2..20Check.20IO.20ports">3.2. Check IO ports</h4><pre>cat /proc/ioport
</pre><h4 id="h4-4..20Fix.20the.20driver">4. Fix the driver</h4><h6 id="h6-4.1.20Ubuntu.208.10">4.1 Ubuntu 8.10</h6><pre>$ sudo apt-get install fakeroot build-essential makedumpfile 
$ sudo apt-get build-dep linux
$ sudo apt-get build-dep linux-image-$(uname -r)
$ apt-get source linux-image-$(uname -r)
</pre><p>Modify driver code, then just rebuild the tpm driver.
<pre>$ cd linux-2.6.27/drivers/char/tpm
$ make -C /usr/src/linux M=`pwd` V=1

$ sudo cp -b tpm_tis.ko /lib/modules/$(uname -r)/kernel/drivers/char/tpm/tpm_tis.ko

</pre></p><pre>$ sudo modprobe tpm_tis 

$ sudo modprobe tpm_tis force=1 interrupts=0

$ lsmod | grep tpm
tpm_tis                17676  0 
tpm                    22848  1 tpm_tis
tpm_bios               14080  1 tpm

$ cat /sys/class/misc/tpm0/device/pcrs
$ sudo less /sys/kernel/security/tpm0/ascii_bios_measurements 

$ sudo modprobe -r tpm_tis
</pre><pre>$ sudo apt-get install tpm-tools
$ /usr/sbin/tpm_getpubek
Public Endorsement Key:
  Version:   01010000
  Usage:     0x0002 (Unknown)
  Flags:     0x00000000 (!VOLATILE, !MIGRATABLE, !REDIRECTION)
  AuthUsage: 0x00 (Never)
  Algorithm:         0x00000020 (Unknown)
  Encryption Scheme: 0x00000012 (Unknown)
  Signature Scheme:  0x00000010 (Unknown)
  Public Key:
	c31d0e0b b963be82 3520493e f2dc1eb0 8b2e8b98 cd22cc37 9c4ea3b4 b97705e4
&lt;snip&gt;
</pre><h6 id="h6-4.2.20Fedora">4.2 Fedora</h6><h5 id="h5-5..20Links">5. Links</h5><p>tpmdd project <a href="http://sourceforge.net/projects/tpmdd" class="external" rel="nofollow">http://sourceforge.net/projects/tpmdd</a>
</p><div class="indent">
</div>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/PlatformInfo">
    <title>PlatformInfo</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/PlatformInfo</link>
    <dc:identifier>PlatformInfo</dc:identifier>
    <dc:date>2009-02-14T05:48:00+09:00</dc:date>
        <description>
      <![CDATA[= Platform Info (BIOS) =

Please use PDF view to avoid sidebar overrap on the table:-)

Sorted by BIOS release date
||&#039;&#039;&#039;Vendor&#039;&#039;&#039; || &#039;&#039;&#039;Type&#039;&#0]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-Platform.20Info.20.28BIOS.29">Platform Info (BIOS)</h1><p>Please use PDF view to avoid sidebar overrap on the table:-)
</p><p>Sorted by BIOS release date
<table class="wikitable" border="1"><tbody><tr><td><strong>Vendor</strong> </td><td> <strong>Type</strong> </td><td> <strong>P/N</strong> </td><td> <strong>BIOS Version</strong> </td><td><strong>BIOS Date</strong> </td><td><strong>TPM</strong> </td><td> <strong>HDD Boot</strong> </td><td><strong>USB Boot</strong> </td><td> <strong>CD Boot</strong> </td><td> <strong>Comments</strong> </td></tr><tr><td>Panasonic </td><td> W4             </td><td> CF-W4HW8AXR?</td><td> V1.00L11         </td><td> ?  </td><td>Infineon v1.1b? </td><td> ?      </td><td>  ?  </td><td> NG     </td><td> no TCGBIOS  </td></tr><tr><td>IBM       </td><td> Thinkpad X31   </td><td> 2672CBJ     </td><td> 1QET78WW (2.15 ) </td><td> 11/18/2004 </td><td>Atmel v1.1b</td><td> OK(3)   </td><td>    </td><td> NG(1)  </td><td>  </td></tr><tr><td>IBM       </td><td> Thinkpad T42   </td><td> 2373J8J     </td><td> 1RETDNWW (3.19 ) </td><td> 10/13/2005 </td><td>Atmel v1.1b</td><td> OK(3)   </td><td>    </td><td> NG(1)  </td><td>  </td></tr><tr><td>DELL      </td><td>OptiPlex GX620</td><td>OptiPlex GX620</td><td> A07             </td><td> 03/31/2006 </td><td>ST Micro v1.2? </td><td>  ?  </td><td> NG(7) </td><td> NG(6) </td><td>  </td></tr><tr><td>IBM       </td><td> Thinkpad T43   </td><td> 266872J     </td><td> 1YET65WW (1.29 ) </td><td> 08/21/2006 </td><td> </td><td> NG(2,3) </td><td>    </td><td> NG(1,2)</td><td>  </td></tr><tr><td>Lenovo    </td><td> Thinkpad T60   </td><td> 20076EJ     </td><td> 79ETC9WW (2.09 ) </td><td> 12/22/2006 </td><td>Atmel v1.2</td><td> OK(3)   </td><td>    </td><td> NG(1)  </td><td> Pls. update BIOS </td></tr><tr><td>Lenovo    </td><td> Thinkpad T60p  </td><td> 8741JMJ     </td><td> 7IET23WW (1.04 ) </td><td> 12/27/2006 </td><td>Atmel v1.2</td><td> OK(3)   </td><td>    </td><td> NG(1)  </td><td> Pls. update BIOS </td></tr><tr><td>Lenovo    </td><td> Thinkpad X60   </td><td> 1706Q6J     </td><td> 7BETC7WW (2.18 ) </td><td> 03/07/2007 </td><td>Atmel v1.2</td><td>  </td><td> OK </td><td> OK?     </td><td>(9 to use XGA), Video: Intel GMA 950  </td></tr><tr><td>Lenovo    </td><td>ThinkCenter M55</td><td> 879998J     </td><td> 2JKT32AUS        </td><td> 03/13/2007 </td><td>Atmel     </td><td>         </td><td>    </td><td> NG(1)  </td><td> (9,12), Video: Intel GMA 3000   </td></tr><tr><td>Panasonic </td><td> Y7             </td><td> CF-Y7AWDAJS </td><td> V1.00L11         </td><td> 04/11/2007 </td><td>Infineon v1.2</td><td> OK      </td><td>    </td><td> OK     </td><td>  </td></tr><tr><td>IBM       </td><td> Thinkpad T42   </td><td> 2373J8J     </td><td> 1RETDRWW (3.23 ) </td><td> 06/18/2007 </td><td>Atmel v1.1b</td><td> OK(3)   </td><td> NG?</td><td> NG(1)  </td><td>  </td></tr><tr><td>Fujitsu   </td><td> Lifebook S2210 </td><td> CP327301    </td><td> V1.09            </td><td> 06/21/2007 </td><td>Infineon v1.2</td><td> OK?   </td><td> OK? </td><td> NG(5)  </td><td> (8), AMD SKINIT    </td></tr><tr><td>DELL      </td><td> <a href="http://www.dell.com/content/products/productdetails.aspx/optix_755" class="external" rel="nofollow">OptiPlex 755</a> </td><td> OptiPlex 755 </td><td> A01           </td><td> 08/10/2007 </td><td> </td><td> ?       </td><td>    </td><td> NG(5)  </td><td> (9) </td></tr><tr><td>GREATWALL      </td><td>  </td><td> BYOSOFT BIOS VERSION    P5GATB23.225 </td><td> Tiano.PreRelease0_7.EFI1.10 IA32 </td><td> 07/11/2007 </td><td> v1.2 </td><td> NG    </td><td> NG   </td><td> NG  </td><td>(7)  </td></tr><tr><td>HP        </td><td> <a href="http://www.hp.com/sbso/busproducts_PCwkstn.html" class="external" rel="nofollow">dc7800p</a> </td><td> GC760AV     </td><td> 786F1 v01.04     </td><td> 08/27/2007 </td><td> </td><td> NG(4)   </td><td>    </td><td> NG(4)  </td><td> (9,10,11) </td></tr><tr><td>Lenovo    </td><td> Thinkpad T60   </td><td> 20076EJ     </td><td> 79ETD9WW (2.19 ) </td><td> 09/19/2007 </td><td>Atmel v1.2</td><td> OK(3)   </td><td> OK </td><td> OK     </td><td>  </td></tr><tr><td>Lenovo    </td><td> Thinkpad T60p  </td><td> 8741JMJ     </td><td> 7IET31WW (1.12 ) </td><td> 09/19/2007 </td><td>Atmel v1.2</td><td> OK(3)   </td><td> OK </td><td> OK     </td><td>  </td></tr><tr><td>Panasonic </td><td> W7             </td><td> CF-W7BWHAJS </td><td> V1.00L10         </td><td> 09/28/2007 </td><td>Infineon v1.2</td><td>       </td><td>    </td><td> OK     </td><td>  </td></tr><tr><td>Lenovo    </td><td> Thinkpad X61   </td><td> 76735BJ     </td><td> 7NET29WW (1.10 ) </td><td> 10/22/2007 </td><td>Atmel v1.2</td><td> OK? </td><td> OK? </td><td> OK     </td><td>(9 to use XGA), Video: Intel GMA 3100  </td></tr><tr><td>Lenovo    </td><td> Thinkpad T61   </td><td> 645948J     </td><td> 7LETA7WW (2.07 ) </td><td> 12/06/2007 </td><td>Atmel v1.2</td><td>    </td><td>  </td><td>  OK   </td><td> Video: nVidia Quadro NVS 140M </td></tr><tr><td>DELL      </td><td> <a href="http://www.dell.com/content/products/productdetails.aspx/optix_745" class="external" rel="nofollow">OptiPlex 745</a> </td><td> OptiPlex 745 </td><td> 2.6.1     </td><td> 12/06/2007 </td><td> Atmel v1.2</td><td> OK?       </td><td>    </td><td> NG(5)  </td><td>  </td></tr><tr><td>Intel     </td><td>                </td><td> <a href="http://www.intel.com/products/motherboard/DQ35JO/index.htm" class="external" rel="nofollow">DQ35JO</a> </td><td> v.0745      </td><td> 01/02/2008 </td><td>         v1.2</td><td>     </td><td>    </td><td> NG(4, Use USB-CD/DVD drive to boot, but slow)     </td><td> (9,10) </td></tr><tr><td>DELL      </td><td> <a href="http://sourceforge.jp/projects/openpts/wiki/www.dell.com%2Fcontent%2Fproducts%2Fproductdetails.aspx%2Flatit_d830">Latitude D830</a> </td><td> Latitude D830 </td><td> A08     </td><td> 01/14/2008 </td><td> Broadcom v1.2</td><td> OK?       </td><td>    </td><td> NG(5)  </td><td>  </td></tr><tr><td>Lenovo    </td><td>ThinkCenter M57</td><td> 6062A16 </td><td> 2RKT37AUS </td><td> 01/25/2008 </td><td> Winbond(WEC) </td><td>   </td><td>  </td><td> NG(1)  </td><td> (9,12), Video: Intel GMA 3100   </td></tr><tr><td>Intel     </td><td>                </td><td> <a href="http://www.intel.com/products/motherboard/DQ35JO/index.htm" class="external" rel="nofollow">DQ35JO</a> </td><td> v.0865      </td><td> 04/04/2008 </td><td> Winbond(WEC) v1.2</td><td>  NG(4,5)   </td><td>    </td><td> NG(4,5)   </td><td> tested by UbuntuHardy </td></tr><tr><td>Lenovo  </td><td>ThinkPad X200</td><td> 6062A16 </td><td>  6DET28WW (1.05 ) </td><td> 07/30/2008 </td><td> Intel(INTC0102) </td><td> OK  </td><td> ? </td><td> OK </td><td>(13), Video: Intel GMA 4500  </td></tr><tr><td>Lenovo  </td><td>ThinkPad W500/T500/T400? </td><td>  </td><td>  </td><td>  </td><td> Intel(INTC0102) </td><td> ?  </td><td> ? </td><td> ? </td><td>(13)  </td></tr><tr><td>          </td><td>                </td><td>             </td><td>                  </td><td>            </td><td> </td><td>         </td><td>    </td><td>        </td><td>  </td></tr><tr><td>Xen       </td><td> HVM DomU       </td><td> 3.2.0       </td><td> 3.2.0            </td><td> N/A        </td><td> ETHZ v1.2 (TPM Emulator) </td><td>    </td><td>  </td><td> OK     </td><td> <a href="http://unit.aist.go.jp/itri/knoppix/vmknoppix/" class="external" rel="nofollow">VMKNOPPIX</a> </td></tr><tr><td>          </td><td>                </td><td>             </td><td>                  </td><td>            </td><td> </td><td>         </td><td>    </td><td>        </td><td>  </td></tr></tbody></table></p><ol><li>TCGBIOS do wrong measurement of CD Boot Image
</li><li>TCGBIOS can't use PCR #&gt;7
</li><li>Measure 446 bytes of MBR
</li><li>Some trouble around TGCBIOS Int 1Ah Call (but MS BitLocker(R) may work)
</li><li>not measure MBR or El Torito Boot Image 
</li><li>KNOPPIX511, Boot Fail
</li><li>No TCGBIOS?
</li><li>Linux 2.6.19, TPM drivers are not work
</li><li>Use kernel option, xmodule=vesa screen=1024x768, to enable X-Window
</li><li>Use kernel option, nopcmcia acpi=off, to boot the kenrel
</li><li>Use kernel option, tpm_tis.force=1 tpm_tis.interrupts=0, to enable the tpm driver
</li><li>Use kernel option, vsync=60 hsync=80, to enable X-Window
</li><li>Linux 2.6.27, TPM TIS driver does not support this chip (Intel Integrated TPM in GM45(Montevina) chipset)
</li></ol><p><a href="http://sourceforge.jp/projects/openpts/wiki/HowToGetYourPlatformIntegrityInformation">HowToGetYourPlatformIntegrityInformation</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/SideBar">
    <title>SideBar</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/SideBar</link>
    <dc:identifier>SideBar</dc:identifier>
    <dc:date>2009-02-14T05:30:23+09:00</dc:date>
        <description>
      <![CDATA[  * [[PageAction(SideBar, edit, このサイドバーの編集)]]
]]>
    </description>
    <content:encoded>
      <![CDATA[<ul><li><a rel="nofollow" href="/projects/openpts/wiki/SideBar?action=edit">このサイドバーの編集</a>
</li></ul>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/DemoMovie">
    <title>DemoMovie</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/DemoMovie</link>
    <dc:identifier>DemoMovie</dc:identifier>
    <dc:date>2009-02-05T10:30:34+09:00</dc:date>
        <description>
      <![CDATA[Demo Flash Movie

640x480, 7.5MB
[[LinkAttach(Knoppix511trust_Demo-sub-small.swf)]]
]]>
    </description>
    <content:encoded>
      <![CDATA[<p>Demo Flash Movie
</p><p>640x480, 7.5MB
<a href="http://sourceforge.jp/projects/openpts/wiki/DemoMovie/attach/Knoppix511trust_Demo-sub-small.swf" title="Knoppix511trust_Demo-sub-small.swf" alt="Knoppix511trust_Demo-sub-small.swf" id="la-Knoppix511trust_Demo-sub-small.swf-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/unknown.png">Knoppix511trust_Demo-sub-small.swf</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/ToolsCommandReference">
    <title>ToolsCommandReference</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/ToolsCommandReference</link>
    <dc:identifier>ToolsCommandReference</dc:identifier>
    <dc:date>2008-08-13T11:40:01+09:00</dc:date>
        <description>
      <![CDATA[under construction

----

== !OpenPlatformTrustServices v0.1.2 - Tools Command Reference ==


=== /usr/bin/tpm_createkey ===
{{{
Usage: tpm_createkey [options]
  -h, --help
        Display ]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction
</p><hr /><h2 id="h2-.21OpenPlatformTrustServices.20v0.1.2.20-.20Tools.20Command.20Reference">OpenPlatformTrustServices v0.1.2 - Tools Command Reference</h2><h3 id="h3-.2Fusr.2Fbin.2Ftpm_createkey">/usr/bin/tpm_createkey</h3><pre>Usage: tpm_createkey [options]
  -h, --help
        Display command usage info.
  -u, --uuid UUID
        Set UUID of key. Default is randum number
  -N, --noauth
        Create key without auth secret
  -a, --auth PASSWORD
        Create key with auth secret, PASSWORD
  -P, --popup\n&quot;);
        Use TSS diaglog to set the authsecret, PASSWORD
  -f, --force
        Update the key
  -S, --system
        Use SYSTEM_PS
  -U, --user
        Use USER_PS
  -B, --blob FILENAME
        Use blob file
</pre><h3 id="h3-.2Fusr.2Fbin.2Ftpm_pcrread">/usr/bin/tpm_pcrread</h3><pre>Usage: tpm_pcrread [options]
  -h, --help
        Display command usage info.
  -p, --pcrindex NUMBER
        PCR to read to.  Default is none.  
        This option can be specified multiple times to choose more than one PCR.
  -a, --all
        Display all PCRs
  -k, --kernel
        Display PCR same as kernel format (/sys/class/misc/tpm0/device/pcrs)
  -o, --output FILE
        Filename to write quote result to.  Default is STDOUT.
</pre><h3 id="h3-.2Fusr.2Fbin.2Ftpm_quote">/usr/bin/tpm_quote</h3><pre>Usage: tpm_quote [options]
  -h, --help
        Display command usage info.
  -u, --uuid UUID\n&quot;);
        Set UUID of key
  -n, --nonce NONCE
        Set NONCE
  -p, --pcr NUMBER
        PCR to quote to.  Default is none.  
        This option can be specified multiple times to choose more than one PCR.
  -o, --output FILE
        Filename to write quote result to.  Default is STDOUT.
  -N, --noauth
        Use the key without auth secret
  -a, --auth PASSWORD
        Use key with auth secret, PASSWORD
  -P, --popup
        Use TSS diaglog to set the authsecret, PASSWORD
  -S, --system
        Use SYSTEM_PS
  -U, --user
        Use USER_PS
  -B, --blob FILENAME
        Use blob file
</pre><h3 id="h3-.2Fusr.2Fbin.2Ftpm_extend">/usr/bin/tpm_extend</h3><pre>Usage: tpm_extend [options]
  -h, --help
        Display command usage info.
  -f, --file FILE
        Filename containing data to extend.
  -t, --type EVENTTYPE
        Set Event Type. default value is zero
</pre><h3 id="h3-.2Fusr.2Fbin.2Ftpm_unsealdata">/usr/bin/tpm_unsealdata</h3><pre>Usage: tpm_unsealdata [options]
  -h, --help
        Display command usage info.
  -i, --input FILE
        Filename containing data to unseal.
  -o, --output FILE
        Filename to write unsealed data to.  Default is STDOUT.
</pre><h3 id="h3-.2Fusr.2Fbin.2Fiml">/usr/bin/iml</h3><pre></pre><h3 id="h3-.2Fopt.2F.21OpenPlatformTrustServices.2Fbin.2Fgetiml">/opt/OpenPlatformTrustServices/bin/getiml</h3><pre></pre>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/TcdemoCommandReference">
    <title>TcdemoCommandReference</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/TcdemoCommandReference</link>
    <dc:identifier>TcdemoCommandReference</dc:identifier>
    <dc:date>2008-08-13T11:16:06+09:00</dc:date>
        <description>
      <![CDATA[under construction

----

== !OpenPlatformTrustServices v0.1.2 - Tcdemo Command Reference ==



=== Client CUI Commands (GCJ Version) ===

&quot;tcdemo.properties&quot; must be comfigured be]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction
</p><hr /><h2 id="h2-.21OpenPlatformTrustServices.20v0.1.2.20-.20Tcdemo.20Command.20Reference">OpenPlatformTrustServices v0.1.2 - Tcdemo Command Reference</h2><h3 id="h3-Client.20CUI.20Commands.20.28GCJ.20Version.29">Client CUI Commands (GCJ Version)</h3><p>&quot;tcdemo.properties&quot; must be comfigured before use folowing commands.
</p><h4 id="h4-.2Fopt.2F.21OpenPlatformTrustServices.2Fbin.2Fpts-ca">/opt/OpenPlatformTrustServices/bin/pts-ca</h4><pre>Usage: pts-ca [OPTIONS]
OPTIONS
  --propdir DIRNAME
        Slect properties location
  --auth PASSWORD&quot;);
        Set user password
  --popup
        Set user password by popup dialog
  --verbose&quot;);
        Verbose mode
</pre><h4 id="h4-.2Fopt.2F.21OpenPlatformTrustServices.2Fbin.2Fpts-cu">/opt/OpenPlatformTrustServices/bin/pts-cu</h4><pre>Usage: pts-cu [OPTIONS]
OPTIONS
  -propdir DIRNAME
        Slect properties location
  --auth PASSWORD&quot;);
        Set user password
  --popup
        Set user password by popup dialog
  --verbose
        Verbose mode
</pre><h3 id="h3-Client.20GUI.20Commands.20.28GCJ.20Version.29">Client GUI Commands (GCJ Version)</h3><h4 id="h4-.2Fopt.2F.21OpenPlatformTrustServices.2Fbin.2Fpts-ca-swing">/opt/OpenPlatformTrustServices/bin/pts-ca-swing</h4><pre>Usage: pts-ca-swing [OPTIONS]
OPTIONS
  -propdir DIRNAME
        Select properties location
</pre><h4 id="h4-.2Fopt.2F.21OpenPlatformTrustServices.2Fbin.2Fpts-cu-swing">/opt/OpenPlatformTrustServices/bin/pts-cu-swing</h4><pre>Usage: pts-cu-swing [OPTIONS]
OPTIONS
  -propdir DIRNAME
        Select properties location
</pre><h3 id="h3-Client.20Command.20.28Java.20Version.29">Client Command (Java Version)</h3><p>Following commands are bash scripts to launch the Java application.
</p><h4 id="h4-.2Fopt.2F.21OpenPlatformTrustServices.2Fbin.2Fptsclientadmin">/opt/OpenPlatformTrustServices/bin/ptsclientadmin</h4><pre>Usage:
  ptsclinetadmin
    launch Java/Swing GUI
  ptsclinetadmin --commandline 
    launch commandline
  ptsclinetadmin --commandline --password SIGKEY_PASSWORD
    commandline w/ password
</pre><h4 id="h4-.2Fopt.2F.21OpenPlatformTrustServices.2Fbin.2Fptsclientuser">/opt/OpenPlatformTrustServices/bin/ptsclientuser</h4><pre>Usage:
  ptsclientuser 
    launch Java/Swing GUI
  ptsclientuser --commandline 
    launch commandline
  ptsclientuser --commandline --password SIGKEY_PASSWORD
    commandline w/ password
</pre>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/TcdemoUsersGuide">
    <title>TcdemoUsersGuide</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/TcdemoUsersGuide</link>
    <dc:identifier>TcdemoUsersGuide</dc:identifier>
    <dc:date>2008-07-18T13:55:36+09:00</dc:date>
        <description>
      <![CDATA[under construction

----

= TCDEMO v0.1.2 Users Guide (DRAFT) =

== Commands ==

/opt/OpenPlatformServices/bin/

=== pts-ca (GCJ) ===

Native Client Admin command. commandline version.
Be]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction
</p><hr /><h1 id="h1-TCDEMO.20v0.1.2.20Users.20Guide.20.28DRAFT.29">TCDEMO v0.1.2 Users Guide (DRAFT)</h1><h2 id="h2-Commands">Commands</h2><p>/opt/<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformServices">OpenPlatformServices</a>/bin/
</p><h3 id="h3-pts-ca.20.28GCJ.29">pts-ca (GCJ)</h3><p>Native Client Admin command. commandline version.
Before use this command, please configure the DIRNAME/tcdemo.properties file.
</p><pre>Usage: pts-ca [OPTIONS]
 OPTIONS
     --propdir DIRNAME
         Select properties file location
         the default location is /home/USERNAME/.pts/
     --auth PASSWORD
         Set Sign Key Password
     --popup
         Set user password by popup dialog (via TSS)
     --verbose
         Verbose mode
</pre><h3 id="h3-pts-cu.20.28GCJ.29">pts-cu (GCJ)</h3><p>Native Client User command. commandline version 
</p><pre>Usage: pts-ca [OPTIONS]
 OPTIONS
     --propdir DIRNAME
         Select properties file location
         the default location is /opt/OpenPlatformServices/tcdemo
     --auth PASSWORD
         Set Sign Key Password
     --popup
         Set user password by popup dialog (via TSS)
     --verbose
         Verbose mode
</pre>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServicesServerSetupGuide">
    <title>OpenPlatformTrustServicesServerSetupGuide</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServicesServerSetupGuide</link>
    <dc:identifier>OpenPlatformTrustServicesServerSetupGuide</dc:identifier>
    <dc:date>2008-07-17T15:28:16+09:00</dc:date>
        <description>
      <![CDATA[under construction for v0.1.2 release

----
&#039;&#039;&#039;!OpenPlatformTrustServices v0.1.2 Server Setup Guide (DRAFT)&#039;&#039;&#039;

[[PageOutline(type=unordered)]]

= 1. Introduction]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction for v0.1.2 release
</p><hr /><p><strong>OpenPlatformTrustServices v0.1.2 Server Setup Guide (DRAFT)</strong>
</p><div class="pageoutline"><div class="pageoutline-title"><div class="action"><button type="button" onClick="javascript:togglePageOutline(this)"><img src="//static.sourceforge.jp/wiki/images/icons/roll-up.gif" border="0"></button></div>Outline</div><ul><li><a href="#h1-1..20Introduction">1. Introduction</a>
<ul><li><a href="#h2-1.1.20Overview">1.1 Overview</a>
</li><li><a href="#h2-1.2.20Composition">1.2 Composition</a>
</li></ul></li><li><a href="#h1-2..20Required.20Packages">2. Required Packages</a>
<ul><li><a href="#h2-2.1.20Preparing.20the.20Operating.20System">2.1 Preparing the Operating System</a>
</li><li><a href="#h2-2.2.20Java.206">2.2 Java 6</a>
</li><li><a href="#h2-2.3.20PostgreSQL">2.3 PostgreSQL</a>
</li></ul></li><li><a href="#h1-3..20Setup.20Database">3. Setup Database</a>
<ul><li><a href="#h2-3.1.20Configuration">3.1 Configuration</a>
<ul><li><a href="#h3-3.1.1.20.28OPTION.29.20enable.20remote.20access">3.1.1 (OPTION) enable remote access</a>
</li><li><a href="#h3-3.1.2.20Start.20PostgreSQL.20service">3.1.2 Start PostgreSQL service</a>
</li><li><a href="#h3-3.1.3.20Environment.20variable.20PGDATA">3.1.3 Environment variable PGDATA</a>
</li></ul></li><li><a href="#h2-3.2.20Account.20Creation">3.2 Account Creation</a>
<ul><li><a href="#h3-3.2.1.20Create.20an.20administrator.20account">3.2.1 Create an administrator account</a>
</li><li><a href="#h3-3.2.2.20Create.20a.20user.20account">3.2.2 Create a user account</a>
</li></ul></li><li><a href="#h2-3.3.20Create.20database">3.3 Create database</a>
</li><li><a href="#h2-3.4.20Inserting.20data">3.4 Inserting data</a>
<ul><li><a href="#h3-3.4.1.20Creating.20the.20table.20schema">3.4.1 Creating the table schema</a>
</li><li><a href="#h3-3.4.2.20Setup.20Integrity.20Information.20Database.20of.20current.20host">3.4.2 Setup Integrity Information Database of current host</a>
</li><li><a href="#h3-3.4.3.20Setup.20Vulnerability.20Database">3.4.3 Setup Vulnerability Database</a>
</li></ul></li><li><a href="#h2-3.5.20Maintenance">3.5 Maintenance</a>
<ul><li><a href="#h3-3.5.1.20Performance">3.5.1 Performance</a>
</li><li><a href="#h3-3.5.2.20Backup">3.5.2 Backup</a>
</li><li><a href="#h3-3.5.3.20Restore">3.5.3 Restore</a>
</li></ul></li></ul></li><li><a href="#h1-4..20Setup.20the.20Validation.20Server.20and.20demo.20site">4. Setup the Validation Server and demo site</a>
<ul><li><a href="#h2-4.1.20Setup.20the.20demo.20site.20conencted.20by.20valid.20client">4.1 Setup the demo site conencted by valid client</a>
</li><li><a href="#h2-4.2.20Install.20Tomcat">4.2 Install Tomcat</a>
</li><li><a href="#h2-4.2.20Install.20.21OpenPlatformTrustServices">4.2 Install OpenPlatformTrustServices</a>
</li><li><a href="#h2-4.3.20Start.20the.20server">4.3 Start the server</a>
<ul><li><a href="#h3-4.3.1.20normal.20mode">4.3.1 normal mode</a>
</li><li><a href="#h3-4.3.2.20debug.20mode">4.3.2 debug mode</a>
</li></ul></li></ul></li><li><a href="#h1-5..20Interface.20to.20the.20Database.20.28option.29">5. Interface to the Database (option)</a>
<ul><li><a href="#h2-5.1.20GUI">5.1 GUI</a>
</li><li><a href="#h2-5.1.1.20Setup.20the.20phpPgAdmin.20.28TBD.29">5.1.1 Setup the phpPgAdmin (TBD)</a>
</li></ul></li></ul></div>
<h1 id="h1-1..20Introduction">1. Introduction</h1><h2 id="h2-1.1.20Overview">1.1 Overview</h2><p>This is a demonstration using KNOPPIX - CD bootable Operating System - for experiencing
the Remote Attestation which is the fundamental capability provided by Trusted Computing
technology. 
</p><p>This KNOPPIX supports Trusted Boot and client software for Remote
Attestation, and can be validated by demo Validation Service on Internet. When the
validation results in success without any known vulnerability, the client will be able to use a
service like a demonstration service of vulnerability search.
</p><p>This guide is for setting up the server which used in this experiment.
Any information you can share with us, including your test result and trouble, will be very
helpful and appreciated. The following mailing-lists are available for such reporting.
</p><ul><li>Japanese <a href="http://lists.sourceforge.jp/mailman/listinfo/openpts-jpusers" class="external" rel="nofollow">http://lists.sourceforge.jp/mailman/listinfo/openpts-jpusers</a><br />
</li><li>English <a href="http://lists.sourceforge.jp/mailman/listinfo/openpts-users" class="external" rel="nofollow">http://lists.sourceforge.jp/mailman/listinfo/openpts-users</a><br />
</li></ul><h2 id="h2-1.2.20Composition">1.2 Composition</h2><p>This guidance shows about how to setup the server on the “Red Hat Enterprise Linux 4”.
</p><ul><li>Server OS: Red Hat Enterprise Linux 4
</li><li>Database Server: PostgreSQL
</li><li>HTTP Server: Apache
</li><li>Java runtime: Sun JDK 6
</li><li>Application Server: Tomcat
</li><li>Validation App: <a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a> v0.1.2 (TBD)
</li></ul><p>Supported Clients 
</p><ul><li>KNOPPIX 5.1.1 for Trusted Computing Geeks v1.0.1
</li><li>KNOPPIX 5.3.1 for Trusted Computing Geeks (TBD)

</li></ul><p>Section 3 presents the construction of a database server. Section 4 describes about the
application server. Section 5 describes about the interface to access the database.
</p><h1 id="h1-2..20Required.20Packages">2. Required Packages</h1><h2 id="h2-2.1.20Preparing.20the.20Operating.20System">2.1 Preparing the Operating System</h2><p>Install a Red Hat Enterprise Linux 4.
</p><p>After installation, you have to disable prelink function by modifying /etc/sysconfig/prelink file.
<pre>PRELINKING=no
</pre>In order to confirm a setup immediately, execute the following command.
<pre>$ prelink -ua
</pre></p><h2 id="h2-2.2.20Java.206">2.2 Java 6</h2><p>Download a RPM package of Java Runtime Environment Version 6, and install it.
</p><ul><li><a href="http://www.java.com" class="external" rel="nofollow">http://www.java.com</a>
</li></ul><h2 id="h2-2.3.20PostgreSQL">2.3 PostgreSQL</h2><p>Install PostgreSQL Server RPM package.
<pre>$ rpm -q postgresql-server
</pre>Start postgresql server, and set the password for postgres user.
<pre># /sbin/service postgresql start
# passwd postgres
</pre></p><h1 id="h1-3..20Setup.20Database">3. Setup Database</h1><h2 id="h2-3.1.20Configuration">3.1 Configuration</h2><h3 id="h3-3.1.1.20.28OPTION.29.20enable.20remote.20access">3.1.1 (OPTION) enable remote access</h3><p>Edit /var/lib/pgsql/data/postgresql.conf
<pre>tcpip_socket = true
</pre>Also edit /var/lib/pgsql/data/pg_hba.conf
<pre>host all all 127.0.0.1 255.255.255.255 password
local all all password
</pre></p><h3 id="h3-3.1.2.20Start.20PostgreSQL.20service">3.1.2 Start PostgreSQL service</h3><p>Start the postgresql server.
<pre># /sbin/service postgresql start
</pre></p><h3 id="h3-3.1.3.20Environment.20variable.20PGDATA">3.1.3 Environment variable PGDATA</h3><p>Set the environment variable for the administrator of the database.
<pre>&gt; su postgres
Password: xxxxxxxx
&gt; export PGDATA=/var/lib/pgsql/data
</pre></p><h2 id="h2-3.2.20Account.20Creation">3.2 Account Creation</h2><h3 id="h3-3.2.1.20Create.20an.20administrator.20account">3.2.1 Create an administrator account</h3><p>To create an administrator account, login to the database by administrator privilege and
enter a new password for an administrator.
<pre>&gt; createuser -a -d -P ptsadmin
Enter password for new user: xxxxxxxx
Enter it again: xxxxxxxx
CREATE USER
</pre></p><h3 id="h3-3.2.2.20Create.20a.20user.20account">3.2.2 Create a user account</h3><p>To create a user account, login to the database by administrator privilege and enter a new
password for a new user.
<pre>&gt; createuser -A -D -P ptsuser
Enter password for new user: xxxxxxxx
Enter it again: xxxxxxxx
CREATE USER
</pre></p><h2 id="h2-3.3.20Create.20database">3.3 Create database</h2><p>Create two databases. One is an integrity information database for knoppix named
&quot;iidb_knoppix&quot;, and the other is a vulnerability database named &quot;vul&quot;.
<pre>&gt; createdb -E utf8 iidb_knoppix
CREATE DATABASE
&gt; createdb -E utf8 vul
CREATE DATABASE
</pre></p><h2 id="h2-3.4.20Inserting.20data">3.4 Inserting data</h2><p>Install following two Open Platform Trust Services.
</p><ul><li>openpts (<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a>-0.1.1.tgz)
</li><li>openpts-tools（<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a>-tools-0.1.1.tgz）
</li></ul><h3 id="h3-3.4.1.20Creating.20the.20table.20schema">3.4.1 Creating the table schema</h3><p>Run the script, /opt/<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a>/database/dbsetup.sh of openpts-tools.
</p><p>Confirm the configuration of the database and modify them if needed. To create the
database, select S) Setup New Databases.
<pre>$ sh /opt/OpenPlatformTrustServices/database/dbsetup.sh
S) Setup New Databases
C) Show Current Configuration
L) Show State
B) Backup Databases
D) Delete Databases
Q) Exit
</pre></p><p>When you use the same variables as examples 3.2 and 3.3, the setting becomes to the
following values.
</p><ul><li>DB type :postgres
</li><li>DB admin :ptsadmin
</li><li>DB user :ptsuser
</li><li>Vulnerability Database name :vul
</li><li>Integrity Information Database 0 name :iidb_knoppix
</li></ul><h3 id="h3-3.4.2.20Setup.20Integrity.20Information.20Database.20of.20current.20host">3.4.2 Setup Integrity Information Database of current host</h3><p>At first, run the KNOPPIX on the client platform to correct package information.
</p><p>To get package information from current host, execute the script
/opt/<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a>/bin/deb-all.sh of openpts-tools. The argument is a directory
name. In the following example, “knoppix” is the directory name to store the corrected
information. This shell script runs “deb-meta.pl”, “deb-file.pl sha1” and “deb-file.pl md5”.
<pre>$ sh /opt/OpenPlatformTrustServices/bin/deb-all.sh knoppix
</pre></p><p>At the host using rpm packages, just run tools/package/rpm/rpm-all.sh in a similar manner
as the debian host.
</p><p>After running this command, we can get the data files in the directory.
The files are
</p><ul><li>packagelist.txt
</li><li>tm3-data.txt
</li><li>data/
</li><li>NAME_VERSION.metadata
</li><li>NAME_VERSION.md5.filelist
</li><li>NAME_VERSION.sha1.filelist
</li></ul><p>In order to import in the database, transport these data to the server.
To use the openpts command at /opt/<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a>/bin/openpts, setup the
database configuration.
</p><p>Copy /opt/<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a>/database/ibatis/sqlMapsConfig.properties.sample to
sqlMapsConfig.properties and edit it according to your environment. When you use the
same variables as examples 3.2 and 3.3, the following values are used in setting.
</p><ul><li>driver=org.postgresql.Driver
</li><li>username=ptsadmin
</li><li>password=xxxxxxxx
</li><li>url_vul=jdbc:postgresql://localhost/vul
</li><li>url_iidb0=jdbc:postgresql://localhost/iidb_knoppix
</li></ul><p>To insert the data into Integrity Information Database, run the following command. The last
argument is the data directory which storing the package information. The “—dbindex” is the
database index listed as url_iidb in sqlMapsConfig.properties. If you want to use the
database of “url_iidb0”, add “–dbindex 0”.
<pre>$ /opt/OpenPlatformTrustServices/bin/openpts debimport --dbindex 0 --inputdir
~/knoppix/data/
</pre></p><h3 id="h3-3.4.3.20Setup.20Vulnerability.20Database">3.4.3 Setup Vulnerability Database</h3><p>Get the vulnerability information via Internet. We need CVE data and DSA (Debian Security
Advisory) data to check the security of KNOPPIX.
</p><p>CVE is released from 2002 to 2008 (from nvdcve-2002.xml to nvdcve-2008.xml). To setup
cve_definitions table, execute the following command for each year. In this example, the xml
files are saved at “—outputdir /tmp”.
<pre>$ /opt/OpenPlatformTrustServices/bin/openpts cve --xmlfile
http://nvd.nist.gov/download/nvdcve-2008.xml --outputdir /tmp
</pre></p><p>To store the DSA data to debian_security_advisories table, execute the following command
for each year from 2000 to 2008.
<pre>$ /opt/OpenPlatformTrustServices/bin/openpts dsainfo --url
http://www.debian.org/security/2008/ --outdir /tmp
</pre></p><p>Then, get the detail information for each DSA entry, and make it reflected to the database of
package information.
<pre>$ /opt/OpenPlatformTrustServices/bin/openpts dsadetail --outdir /tmp
$ /opt/OpenPlatformTrustServices/bin/openpts dsasync --dbindex 0
</pre></p><p>If you use the RPM package of Red Hat, get OVAL information instead of DSA. In this case,
the argument “–distribution” is for the version number of Red Hat.
<pre>$ /opt/OpenPlatformTrustServices/bin/openpts oval --dbindex 0 --xmlfile
https://www.redhat.com/security/data/oval/com.redhat.rhsa-all.xml --distribution rhel5
</pre></p><h2 id="h2-3.5.20Maintenance">3.5 Maintenance</h2><h3 id="h3-3.5.1.20Performance">3.5.1 Performance</h3><p>In PostgreSQL, you can recover an unnecessary domain by performing VACUUM.
</p><ul><li>AUTOVACUUM
</li><li>VACUUM DELAY
</li><li>VACUUM FULL
</li></ul><p>REINDEX command re-create the INDEX which was created beforehand.
</p><ul><li>REINDEX
</li></ul><h3 id="h3-3.5.2.20Backup">3.5.2 Backup</h3><p>You can write out the database to a file as SQL.
<pre>$ pg_dump database_name &gt; file_name.sql
</pre></p><h3 id="h3-3.5.3.20Restore">3.5.3 Restore</h3><p>To restore the backup files to database,
<pre>$ psql -e database_name &lt; file_name.sql
$ pg_restore –d database_name file_name.sql
</pre></p><h1 id="h1-4..20Setup.20the.20Validation.20Server.20and.20demo.20site">4. Setup the Validation Server and demo site</h1><h2 id="h2-4.1.20Setup.20the.20demo.20site.20conencted.20by.20valid.20client">4.1 Setup the demo site conencted by valid client</h2><p>Example, demo user is<br />
account : guest<br />
password : password<br />
</p><pre>htpasswd -c /var/www/.htaccess guest
mkdir /var/www/html/demo
</pre><p>Edit /var/www/html/demo/.htaccess
<pre>AuthType  Basic
AuthName &quot;Password Required&quot;
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
Require valid-user
</pre></p><p>Edit /var/www/html/demo/index.html
put any contents
</p><h2 id="h2-4.2.20Install.20Tomcat">4.2 Install Tomcat</h2><p>Download a Tomcat 5.5, and install it.
</p><ul><li><a href="http://tomcat.apache.org/" class="external" rel="nofollow">http://tomcat.apache.org/</a>
</li></ul><pre># cd /opt
# tar xvfz /home/munetoh/Desktop/apache-tomcat-5.5.26.tar.gz
# /opt/apache-tomcat-5.5.26/bin/catalina.sh run
</pre><p>Check the URL, <a href="http://localhost:8080/" class="external" rel="nofollow">http://localhost:8080/</a>
</p><h2 id="h2-4.2.20Install.20.21OpenPlatformTrustServices">4.2 Install OpenPlatformTrustServices</h2><p>Install the following two Open Platform Trust Services.
</p><ul><li>openpts (<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a>-0.1.2.tgz)
</li><li>openpts-tcdemo（<a href="http://sourceforge.jp/projects/openpts/wiki/OpenPlatformTrustServices">OpenPlatformTrustServices</a>-tcdemo-0.1.2.tgz）
</li></ul><pre>$ cd OpenPlatformTrustServices-0.1.1
$ sudo make setup-jars
$ make all
$ sudo make install
</pre><pre>$ cd OpenPlatformTrustServices-0.1.1
$ sudo make setup-jars
$ make all
$ make servlet
$ sudo make install-servlet
$ cp /opt/OpenPlatformTrustServices/database/ibatis/sqlMapsConfig.properties /opt/apache-tomcat-5.5.26//webapps/pva/WEB-INF/classes/sqlMapsConfig.properties
</pre><p>Note) 
ID &amp; PW to access the demo site is hard coded (Sorry).   
fix the string at 104 line in src/tcdemo/Server.java
</p><p>Restart the Tomcat and check the existance of validation app on <a href="http://localhost:8080/pva/" class="external" rel="nofollow">http://localhost:8080/pva/</a>
</p><h2 id="h2-4.3.20Start.20the.20server">4.3 Start the server</h2><h3 id="h3-4.3.1.20normal.20mode">4.3.1 normal mode</h3><h3 id="h3-4.3.2.20debug.20mode">4.3.2 debug mode</h3><pre># /opt/apache-tomcat-5.5.26/bin/catalina.sh run
</pre><p>/opt/apache-tomcat-5.5.26//webapps/pva/WEB-INF/classes/log4j.properties
</p><h1 id="h1-5..20Interface.20to.20the.20Database.20.28option.29">5. Interface to the Database (option)</h1><h2 id="h2-5.1.20GUI">5.1 GUI</h2><p>These tools are the viewer for the PostgreSQL database.
</p><ul><li>pgAdmin III - <a href="http://www.pgadmin.org/" class="external" rel="nofollow">http://www.pgadmin.org/</a>
</li><li>phpPgAdmin - <a href="http://phppgadmin.sourceforge.net/" class="external" rel="nofollow">http://phppgadmin.sourceforge.net/</a>
</li></ul><h2 id="h2-5.1.1.20Setup.20the.20phpPgAdmin.20.28TBD.29">5.1.1 Setup the phpPgAdmin (TBD)</h2><p>Download RPM package for RHEL4
<a href="http://rpm.pbone.net/index.php3/stat/4/idpl/6893237/com/phpPgAdmin-4.2-1.el4.noarch.rpm.html" class="external" rel="nofollow">http://rpm.pbone.net/index.php3/stat/4/idpl/6893237/com/phpPgAdmin-4.2-1.el4.noarch.rpm.html</a>
</p><pre>#  rpm -ivh /home/munetoh/Desktop/phpPgAdmin-4.2-1.el4.noarch.rpm
</pre><p><a href="http://localhost/phpPgAdmin" class="external" rel="nofollow">http://localhost/phpPgAdmin</a>
</p><hr /><p>Copyright IBM Japan, Ltd. 2008
*) This work is sponsored by the Ministry of Economy. Trade and Industry, Japan (METI) under contract for the New-Generation Information Security R&amp;D Program.
*) Linux is a trademark of Linus Torvalds. All trademarks, logos, service marks, and other materials used in this site are the property of IBM corp. or other entities.
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/LinuxDistroComparisonTable">
    <title>LinuxDistroComparisonTable</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/LinuxDistroComparisonTable</link>
    <dc:identifier>LinuxDistroComparisonTable</dc:identifier>
    <dc:date>2008-07-10T15:26:15+09:00</dc:date>
        <description>
      <![CDATA[Under Construction...

----


|| Distro     || || Kernel Version || TPM Driver/TSS || GCJ Version || Comment || URL ||
|| SLED10 SP1 || || 2.6.16.43      ||            || 4.1.2       ||         ]]>
    </description>
    <content:encoded>
      <![CDATA[<p>Under Construction...
</p><hr /><table class="wikitable" border="1"><tbody><tr><td> Distro     </td><td> </td><td> Kernel Version </td><td> TPM Driver/TSS </td><td> GCJ Version </td><td> Comment </td><td> URL </td></tr><tr><td> SLED10 SP1 </td><td> </td><td> 2.6.16.43      </td><td>            </td><td> 4.1.2       </td><td>         </td><td> <a href="http://www.novell.com/products/linuxpackages/desktop10/sp1/i386/index_all.html" class="external" rel="nofollow">packages</a> </td></tr><tr><td> SLED10 SP2 </td><td> </td><td> 2.6.16.60      </td><td> module/NA           </td><td> 4.1.2       </td><td>         </td><td> <a href="http://www.novell.com/products/linuxpackages/desktop10/sp2/i386/index_all.html" class="external" rel="nofollow">packages</a> </td></tr><tr><td> openSUSE 10.1 </td><td> 03-May-2006 </td><td> 2.6.16.13         </td><td>            </td><td> 4.1.2, 4.1.3       </td><td>         </td><td> <a href="http://download.opensuse.org/distribution/SL-10.1/inst-source/suse/i586/" class="external" rel="nofollow">packages</a> </td></tr><tr><td> openSUSE 10.2 </td><td> 27-Nov-2006 </td><td> 2.6.18         </td><td>            </td><td> 4.1.2, 4.1.3       </td><td>         </td><td> <a href="http://download.opensuse.org/distribution/10.2/repo/oss/suse/i586/" class="external" rel="nofollow">packages</a> </td></tr><tr><td> openSUSE 10.3 </td><td> 21-Sep-2007 </td><td> 2.6.22         </td><td>            </td><td> 4.1.3, 4.2.1       </td><td>         </td><td> <a href="http://download.opensuse.org/distribution/10.3/repo/oss/suse/i586/" class="external" rel="nofollow">packages</a> </td></tr><tr><td> openSUSE 11 </td><td> 06-Jun-2008 </td><td> 2.6.25.5         </td><td>            </td><td> 4.3.1       </td><td>         </td><td> <a href="http://download.opensuse.org/distribution/11.0/repo/oss/suse/i586/" class="external" rel="nofollow">packages</a> </td></tr><tr><td> Fedora8 </td><td> 27-Oct-2007 </td><td> 2.6.23.1         </td><td>            </td><td> 4.1.2       </td><td>         </td><td> <a href="http://ftp.iij.ad.jp/pub/linux/fedora/releases/8/Everything/i386/os/Packages/" class="external" rel="nofollow">packages</a> </td></tr><tr><td> Fedora9 </td><td> 16-Apr-2008 </td><td> 2.6.25         </td><td> module/trousers-0.3.1,tpm-tools-1.3.1   </td><td> 4.3.0       </td><td>         </td><td> <a href="http://ftp.iij.ad.jp/pub/linux/fedora/releases/9/Everything/i386/os/Packages/" class="external" rel="nofollow">packages</a> </td></tr><tr><td> CentOS 5.1 </td><td> </td><td> 2.6.18-53         </td><td>      </td><td> 4.1.2-14  </td><td>         </td><td> <a href="http://ftp.iij.ad.jp/pub/linux/centos/5.1/os/i386/CentOS/" class="external" rel="nofollow">packages</a> </td></tr><tr><td> CentOS 5.2 </td><td> </td><td> 2.6.18-92         </td><td>  module/trousers-0.3.1,tpm-tools-1.3.1    </td><td> 4.1.2-42  </td><td>         </td><td> <a href="http://ftp.iij.ad.jp/pub/linux/centos/5.2/os/i386/CentOS/" class="external" rel="nofollow">packages</a> </td></tr><tr><td> Ubuntu Gusty(7.10) </td><td>  </td><td> 2.6.22   </td><td> module/trousers-0.2.9.1,tpm-tools-1.2.5.1   </td><td> 4.1.2, 4.2.1  </td><td>         </td><td> <a href="http://packages.ubuntu.com/hardy/allpackages" class="external" rel="nofollow">packages</a> </td></tr><tr><td> Ubuntu Hardy (8.04) </td><td> 24-Apr-2008 </td><td> 2.6.24         </td><td> module/trousers-0.3.1,tpm-tools-1.3.1   </td><td> 4.1.2, 4.2.3  </td><td>         </td><td> <a href="http://packages.ubuntu.com/hardy/allpackages" class="external" rel="nofollow">packages</a> </td></tr></tbody></table>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForFedora9">
    <title>HowToBuildForFedora9</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToBuildForFedora9</link>
    <dc:identifier>HowToBuildForFedora9</dc:identifier>
    <dc:date>2008-06-30T21:33:27+09:00</dc:date>
        <description>
      <![CDATA[under construction

----

== How To Build !OpenPlatformTrustServices for Fedora9. ==

Following instruction is tested by using Fedora9.

----

=== Preparing === 

Download and Install Java]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction
</p><hr /><h2 id="h2-How.20To.20Build.20.21OpenPlatformTrustServices.20for.20Fedora9.">How To Build OpenPlatformTrustServices for Fedora9.</h2><p>Following instruction is tested by using Fedora9.
</p><hr /><h3 id="h3-Preparing">Preparing</h3><p>Download and Install Java Development Kit V6 from <a href="http://java.sun.com/javase/downloads/index.jsp" class="external" rel="nofollow">http://java.sun.com/javase/downloads/index.jsp</a> (OPTION)
</p><pre># sh jdk-6u6-linux-i586-rpm.bin
# export JAVA_HOME=/usr/java/jdk1.6.0_06
# export PATH=/usr/java/jdk1.6.0_06/bin:$PATH
</pre><p>Install TrouSers and tpm-tools from <a href="http://sourceforge.net/projects/trousers/" class="external" rel="nofollow">http://sourceforge.net/projects/trousers/</a>
<pre># yum install trousers trousers-devel tpm-tools tpm-tools-devel
</pre></p><p>Download jTreemap and Install from <a href="http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip" class="external" rel="nofollow">http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip</a>
<pre># cd /tmp
# wget http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip
# cd /opt
# unzip /tmp/jtreemap-1.1.0.zip
</pre></p><h3 id="h3-Build.20and.20Install.20.21OpenPlatformTrustServices">Build and Install OpenPlatformTrustServices</h3><pre>$ wget http://jaist.dl.sourceforge.jp/openpts/29083/OpenPlatformTrustServices-tools-0.1.1.tgz
$ tar xzvf OpenPlatformTrustServices-tools-0.1.1.tgz
$ cd OpenPlatformTrustServices-tools-0.1.1
$ su
# make rpmbuild-ba
# rpm -ivh /usr/src/redhat/RPMS/i386/OpenPlatformTrustServices-tools-0.1.1-1.i386.rpm
</pre><pre>$ wget http://jaist.dl.sourceforge.jp/openpts/29083/OpenPlatformTrustServices-0.1.1.tgz
$ tar xzvf OpenPlatformTrustServices-0.1.1.tgz
$ cd OpenPlatformTrustServices-0.1.1
$ su
# make rpmbuild-ba
# rpm -ivh /usr/src/redhat/RPMS/noarch/OpenPlatformTrustServices-0.1.1-1.noarch.rpm
</pre><pre>$ wget http://osdn.dl.sourceforge.jp/openpts/29082/OpenPlatformTrustServices-tcdemo-0.1.1.tgz
$ tar xzvf OpenPlatformTrustServices-tcdemo-0.1.1.tgz
$ cd OpenPlatformTrustServices-tcdemo-0.1.1
$ su
# make rpmbuild-ba
# rpm -ivh --nodeps /usr/src/redhat/RPMS/i386/OpenPlatformTrustServices-tcdemo-0.1.1-1.i386.rpm
</pre><pre></pre><hr />]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForKnoppix531">
    <title>HowToBuildForKnoppix531</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToBuildForKnoppix531</link>
    <dc:identifier>HowToBuildForKnoppix531</dc:identifier>
    <dc:date>2008-06-26T16:50:30+09:00</dc:date>
        <description>
      <![CDATA[under construction

----

== How To Build !OpenPlatformTrustServices for KNOPPIX 5.3.1. ==

Boot the KNOPPIX DVD.

Following instruction is tested by using KNOPPIX 5.3.1 EN DVD available from ]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction
</p><hr /><h2 id="h2-How.20To.20Build.20.21OpenPlatformTrustServices.20for.20KNOPPIX.205.3.1.">How To Build OpenPlatformTrustServices for KNOPPIX 5.3.1.</h2><p>Boot the KNOPPIX DVD.
</p><p>Following instruction is tested by using KNOPPIX 5.3.1 EN DVD available from <a href="http://www.knoppix.net/" class="external" rel="nofollow">http://www.knoppix.net/</a> 
</p><p>If you use a persistent KNOPPIX disk image, the size must be larger than 384MB. 512MB is recommended. And in this case, it is better to use /tmp as work space. 
</p><hr /><h3 id="h3-Preparing">Preparing</h3><p>Download Java Development Kit V6 from <a href="http://java.sun.com/javase/downloads/index.jsp" class="external" rel="nofollow">http://java.sun.com/javase/downloads/index.jsp</a> 
(Choose Linux self-extracting file) and install as follows
</p><pre>cd /opt/
chmod +x /home/knoppix/Desktop/jdk-6u6-linux-i586.bin
/home/knoppix/Desktop/jdk-6u6-linux-i586.bin
export JAVA_HOME=/opt/jdk1.6.0_06
export PATH=/opt/jdk1.6.0_06/bin:$PATH
</pre><p>Download jTreemap and Install from <a href="http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip" class="external" rel="nofollow">http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip</a>
and extract as follows
</p><pre>cd /tmp
wget http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip
cd /opt
unzip /tmp/jtreemap-1.1.0.zip
</pre><p>Install TrouSers and tpm-tools from <a href="http://sourceforge.net/projects/trousers/" class="external" rel="nofollow">http://sourceforge.net/projects/trousers/</a>
</p><pre>wget http://jaist.dl.sourceforge.net/sourceforge/trousers/trousers-0.3.1.tar.gz

tar xvfz trousers-0.3.1.tar.gz
cd trousers-0.3.1
sh bootstrap.sh
./configure
cd ..
su
tar zcvf /usr/src/rpm/SOURCES/trousers-0.3.1.tar.gz trousers-0.3.1

vi trousers-0.3.1/dist/trousers.spec  (quick fix)

#%config %attr(600, tss, tss) %{_sysconfdir}/tcsd.conf
%config %attr(600, tss, tss) %{_sysconfdir}/../../etc/tcsd.conf

rpmbuild -bb trousers-0.3.1/dist/trousers.spec

cd /usr/src/rpm/RPMS/i386/
alien --to-deb trousers-0.3.1-1.i386.rpm
alien --to-deb trousers-devel-0.3.1-1.i386.rpm

dpkg -i trousers_0.3.1-2_i386.deb 
dpkg -i trousers-devel_0.3.1-2_i386.deb

</pre><pre>wget http://jaist.dl.sourceforge.net/sourceforge/trousers/tpm-tools-1.3.1.tar.gz

tar xvfz tpm-tools-1.3.1.tar.gz

cd tpm-tools-1.3.1
sh ./bootstrap.sh
./configure
cd ..

su
tar zcvf /usr/src/rpm/SOURCES/tpm-tools-1.3.1.tar.gz tpm-tools-1.3.1

vi tpm-tools-1.3.1/dist/tpm-tools.spec  (quick fix)

#BuildRequires:  autoconf automake libtool trousers-devel opencryptoki-devel openssl-devel

rpmbuild -bb tpm-tools-1.3.1/dist/tpm-tools.spec

TBD BUILD WAS FAIL DO TO THE DEPENDANCY

</pre><h3 id="h3-Build.20and.20Install.20.21OpenPlatformTrustServices.20.28package.20build.29">Build and Install OpenPlatformTrustServices (package build)</h3><pre>wget http://jaist.dl.sourceforge.jp/openpts/29083/OpenPlatformTrustServices-tools-0.1.1.tgz
tar xzvf OpenPlatformTrustServices-tools-0.1.1.tgz
su
cp OpenPlatformTrustServices-tools-0.1.1.tgz /usr/src/rpm/SOURCES/OpenPlatformTrustServices-tools-0.1.1.tar.gz
rpmbuild -bb OpenPlatformTrustServices-tools-0.1.1/dist/OpenPlatformTrustServices-tools.spec

</pre><p>OLD OLD OLD 
</p><p>Download  OpenPlatformTrustServices OpenPlatformTrustServices-tools OpenPlatformTrustServices-tcdemo packages from <a href="http://sourceforge.jp/projects/openpts">http://sourceforge.jp/projects/openpts</a>
</p><ol><li>Copy spec files to /usr/src/rpm/SPECS/
</li><li>Copy tar files to /usr/src/rpm/SOURCES/ as tar.gz
</li><li>Build and install OpenPlatformTrustServices and OpenPlatformTrustServices-tools
</li><li>Build and install OpenPlatformTrustServices-tcdemo
</li></ol><pre>$ tar xzvf OpenPlatformTrustServices-0.1.1.tgz
$ tar xzvf OpenPlatformTrustServices-tools-0.1.1.tgz
$ tar xzvf OpenPlatformTrustServices-tcdemo-0.1.1.tgz

$ cp OpenPlatformTrustServices-0.1.1/dist/OpenPlatformTrustServices.spec /usr/src/rpm/SPECS/
$ cp OpenPlatformTrustServices-tools-0.1.1/dist/OpenPlatformTrustServices* /usr/src/rpm/SPECS/
$ cp OpenPlatformTrustServices-tcdemo-0.1.1/dist/OpenPlatformTrustServices-tcdemo.spec /usr/src/rpm/SPECS/

$ cp OpenPlatformTrustServices-0.1.1.tgz /usr/src/rpm/SOURCES/OpenPlatformTrustServices-0.1.1.tar.gz
$ cp OpenPlatformTrustServices-tools-0.1.1.tgz /usr/src/rpm/SOURCES/OpenPlatformTrustServices-tools-0.1.1.tar.gz
$ cp OpenPlatformTrustServices-tcdemo-0.1.1.tgz /usr/src/rpm/SOURCES/OpenPlatformTrustServices-tcdemo-0.1.1.tar.gz

# cd /usr/src/rpm/SPECS/
# rpmbuild -bb OpenPlatformTrustServices-tools.spec
# rpmbuild -bb OpenPlatformTrustServices.spec

# cd /usr/src/rpm/RPMS/i386/
# alien --to-deb OpenPlatformTrustServices-tools-0.1.1-1.i386.rpm
# dpkg -i openplatformtrustservices-tools_0.1.1-2_i386.deb

# cd /usr/src/rpm/RPMS/noarch/
# alien --to-deb OpenPlatformTrustServices-0.1.1-1.noarch.rpm
# dpkg -i openplatformtrustservices_0.1.1-2_all.deb

# cd /usr/src/rpm/SPECS/
# rpmbuild -bb OpenPlatformTrustServices-tcdemo.spec
# cd /usr/src/rpm/RPMS/i386/
# alien --to-deb OpenPlatformTrustServices-tcdemo-0.1.1-1.i386.rpm
# dpkg -i openplatformtrustservices-tcdemo_0.1.1-2_i386.deb
</pre><h3 id="h3-Build.20and.20Install.20.21OpenPlatformTrustServices.20.28source.20build.29">Build and Install OpenPlatformTrustServices (source build)</h3><pre>
export JAVA_HOME=/opt/jdk1.6.0_06
export PATH=/opt/jdk1.6.0_06/bin:$PATH

cp OpenPlatformTrustServices-0.1.1/
sudo make 
make all

</pre><hr />]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForKnoppix">
    <title>HowToBuildForKnoppix</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToBuildForKnoppix</link>
    <dc:identifier>HowToBuildForKnoppix</dc:identifier>
    <dc:date>2008-06-26T10:58:59+09:00</dc:date>
        <description>
      <![CDATA[under construction

----

== How To Build !OpenPlatformTrustServices for KNOPPIX. ==

Boot the KNOPPIX DVD (CD Version is insufficient).

Following instruction is tested by using KNOPPIX Japan]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction
</p><hr /><h2 id="h2-How.20To.20Build.20.21OpenPlatformTrustServices.20for.20KNOPPIX.">How To Build OpenPlatformTrustServices for KNOPPIX.</h2><p>Boot the KNOPPIX DVD (CD Version is insufficient).
</p><p>Following instruction is tested by using KNOPPIX Japanese 5.1.1DVD available from <a href="http://unit.aist.go.jp/itri/knoppix/" class="external" rel="nofollow">http://unit.aist.go.jp/itri/knoppix/</a> 
</p><p>CD Version is insufficient. If you use CD version, you have to install ant package, gcj package and their dependable packages additionally.*1
</p><p>If you use a persistent KNOPPIX disk image, the size must be larger than 384MB. 512MB is recommended. And in this case, it is better to use /tmp as work space. 
</p><hr /><h3 id="h3-Preparing">Preparing</h3><p>Download and Install Java Development Kit V6 from <a href="http://java.sun.com/javase/downloads/index.jsp" class="external" rel="nofollow">http://java.sun.com/javase/downloads/index.jsp</a>
</p><pre># cd /opt/
# jdk-6u4-linux-i586.bin
# export JAVA_HOME=/opt/jdk1.6.0_04
# export PATH=/opt/jdk1.6.0_04/bin:$PATH
</pre><p>Install TrouSers and tpm-tools from <a href="http://sourceforge.net/projects/trousers/" class="external" rel="nofollow">http://sourceforge.net/projects/trousers/</a>
</p><p>Download jTreemap and Install from <a href="http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip" class="external" rel="nofollow">http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip</a>
</p><pre># cp jtreemap-1.1.0.zip /tmp/
# cd /opt
# unzip /tmp/jtreemap-1.1.0.zip
</pre><h3 id="h3-Build.20and.20Install.20.21OpenPlatformTrustServices">Build and Install OpenPlatformTrustServices</h3><p>Download  OpenPlatformTrustServices OpenPlatformTrustServices-tools OpenPlatformTrustServices-tcdemo packages from <a href="http://sourceforge.jp/projects/openpts.">http://sourceforge.jp/projects/openpts.</a>
</p><ol><li>Copy spec files to /usr/src/rpm/SPECS/
</li><li>Copy tar files to /usr/src/rpm/SOURCES/ as tar.gz
</li><li>Build and install OpenPlatformTrustServices and OpenPlatformTrustServices-tools
</li><li>Build and install OpenPlatformTrustServices-tcdemo
</li></ol><pre>$ tar xzvf OpenPlatformTrustServices-0.1.1.tgz
$ tar xzvf OpenPlatformTrustServices-tools-0.1.1.tgz
$ tar xzvf OpenPlatformTrustServices-tcdemo-0.1.1.tgz

$ cp OpenPlatformTrustServices-0.1.1/dist/OpenPlatformTrustServices.spec /usr/src/rpm/SPECS/
$ cp OpenPlatformTrustServices-tools-0.1.1/dist/OpenPlatformTrustServices* /usr/src/rpm/SPECS/
$ cp OpenPlatformTrustServices-tcdemo-0.1.1/dist/OpenPlatformTrustServices-tcdemo.spec /usr/src/rpm/SPECS/

$ cp OpenPlatformTrustServices-0.1.1.tgz /usr/src/rpm/SOURCES/OpenPlatformTrustServices-0.1.1.tar.gz
$ cp OpenPlatformTrustServices-tools-0.1.1.tgz /usr/src/rpm/SOURCES/OpenPlatformTrustServices-tools-0.1.1.tar.gz
$ cp OpenPlatformTrustServices-tcdemo-0.1.1.tgz /usr/src/rpm/SOURCES/OpenPlatformTrustServices-tcdemo-0.1.1.tar.gz

# cd /usr/src/rpm/SPECS/
# rpmbuild -bb OpenPlatformTrustServices-tools.spec
# rpmbuild -bb OpenPlatformTrustServices.spec

# cd /usr/src/rpm/RPMS/i386/
# alien --to-deb OpenPlatformTrustServices-tools-0.1.1-1.i386.rpm
# dpkg -i openplatformtrustservices-tools_0.1.1-2_i386.deb

# cd /usr/src/rpm/RPMS/noarch/
# alien --to-deb OpenPlatformTrustServices-0.1.1-1.noarch.rpm
# dpkg -i openplatformtrustservices_0.1.1-2_all.deb

# cd /usr/src/rpm/SPECS/
# rpmbuild -bb OpenPlatformTrustServices-tcdemo.spec
# cd /usr/src/rpm/RPMS/i386/
# alien --to-deb OpenPlatformTrustServices-tcdemo-0.1.1-1.i386.rpm
# dpkg -i openplatformtrustservices-tcdemo_0.1.1-2_i386.deb
</pre><hr /><p>*1
To use CD version KNOPPIX, install ant package from <a href="http://packages.debian.org/etch/ant" class="external" rel="nofollow">http://packages.debian.org/etch/ant</a>
<pre>dpkg -i --ignore-depends=java-gcj-compat ant_1.6.5-6_all.deb
</pre></p><p>And also, install gcj package from <a href="http://packages.debian.org/etch/gcj" class="external" rel="nofollow">http://packages.debian.org/etch/gcj</a>
(and cpp, gij, gij-4.1, gcj-4.1, gcj-4.1-base, libgcj7-dev, libgcj7-0, libgcj-common, libgcj7-awt, libgcj-bc, libgcj7-jar)
</p><hr />]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuHardy">
    <title>HowToBuildForUbuntuHardy</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToBuildForUbuntuHardy</link>
    <dc:identifier>HowToBuildForUbuntuHardy</dc:identifier>
    <dc:date>2008-04-03T10:23:23+09:00</dc:date>
        <description>
      <![CDATA[SORRY, This page is under construction


----

= Ubuntu Hardy (8.04) =

This guide is intended to build Ubuntu with Trusted Computing.
 
== 1. Install Ubuntu Desktop ==

Download ISO image.]]>
    </description>
    <content:encoded>
      <![CDATA[<p>SORRY, This page is under construction
</p><hr /><h1 id="h1-Ubuntu.20Hardy.20.288.04.29">Ubuntu Hardy (8.04)</h1><p>This guide is intended to build Ubuntu with Trusted Computing.
</p><div class="indent">
</div><h2 id="h2-1..20Install.20Ubuntu.20Desktop">1. Install Ubuntu Desktop</h2><p>Download ISO image. and install to your HDD.
</p><p>Update to be work with latest packages. 
</p><p>Install additional packages, dpkg-dev, devscripts, fakeroot, pbuilder
</p><h2 id="h2-2..20Enable.20Integrity.20Measurements">2. Enable Integrity Measurements</h2><h3 id="h3-2.1..20Bootloader">2.1. Bootloader</h3><h3 id="h3-2.1.1.20GRUB-IMA">2.1.1 GRUB-IMA</h3><p>Download source package and test the build.
<pre>$ sudo apt-get build-dep grub
$ apt-get source grub
$ cd grub-0.97
$ debchange -i
$ dpkg-buildpackage -rfakeroot -us -uc
</pre></p><p>OK? Next apply the IMA patch.
</p><p>Download source package and test the build.
<pre>TBD
</pre></p><p>Reboot
</p><h3 id="h3-2.1.2.20Trusted.20GRUB">2.1.2 Trusted GRUB</h3><p><a href="http://sourceforge.net/projects/trustedgrub" class="external" rel="nofollow">http://sourceforge.net/projects/trustedgrub</a>
</p><pre>$ wget http://jaist.dl.sourceforge.net/sourceforge/trustedgrub/TrustedGRUB-1.1.3.tgz
$ tar xvfz TrustedGRUB-1.1.3.tgz
$ cd  TrustedGRUB-1.1.3
$ ./build_tgrub.sh
$ cd  TrustedGRUB-1.1.3

$ ./configure CFLAGS=&quot;-fno-stack-protector&quot; STAGE2_CFLAGS=&quot;-fno-stack-protector&quot;
$ make
$ sudo make install

$ sudo /usr/local/sbin/grub-install /dev/sda

</pre><h3 id="h3-2.2..20Linux">2.2. Linux</h3><p>Download source package and test the build.
<pre>$ sudo apt-get build-dep linux-image-debug-2.6.24-12-generic
$ apt-get source linux-image-debug-2.6.24-12-generic
$ cd linux-2.6.24
$ debchange -i

$ cp /boot/config-2.6.24-12-generic .config
$ make oldconfig
UBUNTUBUILD=1 DEBIAN_SRCTOP=./ fakeroot make-kpkg -initrd kernel_image kernel_headers modules_image

$ dpkg-buildpackage -rfakeroot -us -uc
</pre></p><p>OK? 
Next, try to apply the Integrity Measurement patch.
</p><h3 id="h3-2.2.1.20Linux-IMA">2.2.1 Linux-IMA</h3><p>This is original IMA patch using LSM.
The patch is available from <a href="http://sourceforge.net/projects/linux-ima" class="external" rel="nofollow">http://sourceforge.net/projects/linux-ima</a>
</p><pre>$ sudo apt-get build-dep linux-image-debug-2.6.24-12-generic
$ apt-get source linux-image-debug-2.6.24-12-generic
$ cd linux-2.6.24
$ debchange -i

$ wget http://nchc.dl.sourceforge.net/sourceforge/linux-ima/ibm_ima_8.3_2.6.24.3.patch
$ patch -p1 --dry-run &lt; ibm_ima_8.3_2.6.24.3.patch 

some failes, since the AppArmor patch was applied.

$ patch -p1 &lt; ibm_ima_8.3_2.6.24.3.patch 

Manualy fix security/Kconfig and security/Makefile. 

$ cp /boot/config-2.6.24-12-generic .config
$ make -s menuconfig

Device Driver &gt; Character devices &gt;  TPM hardware Supports = Y
Device Driver &gt; Character devices &gt;  TPM hardware Supports &gt; * Interface= Y
Cryptographic API &gt; SHA1 = Y
Security options &gt; Capability = N
Security options &gt; SELinux = N
Security options &gt; AppArmor = N
Security options &gt; TCG run-time Integrity Measuremenet = Y


$ UBUNTUBUILD=1 DEBIAN_SRCTOP=./ fakeroot make-kpkg -initrd kernel_image kernel_headers modules_image

$ cd ..
$ sudo dpkg -i linux-headers-2.6.24.3_2.6.24-13.23ubuntu1_i386.deb
$ sudo dpkg -i linux-image-2.6.24.3_2.6.24-13.23ubuntu1_i386.deb

</pre><p>Edit /boot/grub/menu.lst to enable IMA.
</p><pre>title		Ubuntu hardy (development branch), kernel 2.6.24.3
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.24.3 root=UUID=e915d681-5805-4cdd-b5ca-6e7bacd474b5 ro quiet splash locale=ja_JP ima=1
initrd		/boot/initrd.img-2.6.24.3
quiet
</pre><p>Reboot the system. and check the measurements
</p><pre>$ ls /sys/kernel/security/
ima  tpm0
$  sudo cat /sys/kernel/security/ima/ascii_runtime_measurements 
&lt;snip&gt;
10 094fe12401c97bdfeef1c11938f331fb143fe056 /usr/bin/sudo
$ sha1sum /usr/bin/sudo
094fe12401c97bdfeef1c11938f331fb143fe056  /usr/bin/sudo
</pre><h3 id="h3-2.2.2.20LIM.2FIMA">2.2.2 LIM/IMA</h3><p>New version based on Linux Integrity Module (LIM).
This IMA works with other LSM-MAC modules, like SELinux, AppArmor, SMACK, TOMOYO.
</p><h3 id="h3-2.3.20Useland">2.3 Useland</h3><h4 id="h4-2.3.1.20.21TrouSerS">2.3.1 TrouSerS</h4><pre>$ sudo apt-get install trousers
</pre><h4 id="h4-2.3.2.20tpm-tools">2.3.2 tpm-tools</h4><pre>$ sudo apt-get install tpm-tools
$ tpm_version
  TPM Version:         01010000
  Manufacturer Info:   57454300
</pre><h4 id="h4-2.3.3.20tpmmanager">2.3.3 tpmmanager</h4><p><a href="http://sourceforge.net/projects/tpmmanager" class="external" rel="nofollow">http://sourceforge.net/projects/tpmmanager</a>
</p><pre>$ wget http://nchc.dl.sourceforge.net/sourceforge/tpmmanager/tpmmanager-0.4.tar.gz
$ cd tpmmanager-0.4
$ ./configure
$ make
$ sudo make install
</pre><h4 id="h4-2.3.4.20TPM.2FJ">2.3.4 TPM/J</h4><p><a href="http://projects.csail.mit.edu/tc/tpmj/" class="external" rel="nofollow">http://projects.csail.mit.edu/tc/tpmj/</a>
</p><p><a href="http://sourceforge.net/projects/tpmj/" class="external" rel="nofollow">http://sourceforge.net/projects/tpmj/</a>
</p><pre>$ wget http://nchc.dl.sourceforge.net/sourceforge/tpmj/tpmj-alpha0.3.0.zip
$ unzip tpmj-alpha0.3.0.zip

TBD
</pre><h4 id="h4-2.3.5.20.21OpenPlatformTrustServices">2.3.5 OpenPlatformTrustServices</h4><p>TBD
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToGetYourPlatformIntegrityInformation">
    <title>HowToGetYourPlatformIntegrityInformation</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToGetYourPlatformIntegrityInformation</link>
    <dc:identifier>HowToGetYourPlatformIntegrityInformation</dc:identifier>
    <dc:date>2008-03-24T14:44:49+09:00</dc:date>
        <description>
      <![CDATA[= How To Get Your Platform Integrity Information =
== Using KNOPPIX511 for Trusted Computing Geeks v1.0.1 ==
=== 1. Download ISO image and create bootable CD ===

Geeks ISO image is available from]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-How.20To.20Get.20Your.20Platform.20Integrity.20Information">How To Get Your Platform Integrity Information</h1><h2 id="h2-Using.20KNOPPIX511.20for.20Trusted.20Computing.20Geeks.20v1.0.1">Using KNOPPIX511 for Trusted Computing Geeks v1.0.1</h2><h3 id="h3-1..20Download.20ISO.20image.20and.20create.20bootable.20CD">1. Download ISO image and create bootable CD</h3><p>Geeks ISO image is available from <a href="http://unit.aist.go.jp/itri/knoppix/index.html" class="external" rel="nofollow">Japanese</a> <a href="http://unit.aist.go.jp/itri/knoppix/index-en.html" class="external" rel="nofollow">English</a>
</p><p>Reference<br />
Ubuntu Burning ISO How To <a href="https://wiki.ubuntulinux.jp/UbuntuTips/Install/BurningISO" class="external" rel="nofollow">Japanese</a><a href="https://help.ubuntu.com/community/BurningIsoHowto" class="external" rel="nofollow">English</a>
</p><h3 id="h3-2..20Enable.20TPM">2. Enable TPM</h3><p>If you are not enable the TPM yet.
Goto BIOS setup menu and enable TPM at the boot.
</p><table class="wikitable" border="1"><tbody><tr><td> <strong>Vendor</strong> </td><td> <strong>Key to enter BIOS menu</strong> </td><td> <strong>Location of TPM setup menu</strong> </td><td> <strong>Comments</strong></td></tr><tr><td>IBM, Lenovo </td><td> F1 </td><td> Security -&gt; IBM Security Chip </td><td> </td></tr><tr><td>Panasonic 　</td><td> F2 </td><td> Security tab -&gt; Embedded Security (TPM)Sub-Menu -&gt; Embedded Security Chip -&gt; Enable </td><td> Requires Supervisor PW </td></tr><tr><td>HP </td><td> F10 </td><td> Security menu -&gt; System Security -&gt; Embedded Security Device Support </td><td> requires setup password </td></tr><tr><td>DELL </td><td> </td><td> </td><td> </td></tr><tr><td>Fujitsu </td><td> </td><td> </td><td> </td></tr><tr><td>NEC </td><td> F2 </td><td> </td><td> </td></tr></tbody></table><p>Ref <a href="http://www.michaelstevenstech.com/bios_manufacturer.htm" class="external" rel="nofollow">http://www.michaelstevenstech.com/bios_manufacturer.htm</a>
</p><h3 id="h3-3..20Boot.20the.20Geeks.20CD">3. Boot the Geeks CD</h3><p>After your Desktop is displayed,
Start terminal and correct platform info as follows:
</p><pre>$ su
# cd /tmp
# /opt/OpenPlatformTrustServices/bin/getiml info
tar cvfz info.tgz ./info/*
</pre><p>Now /tmp has info.tgz file.
</p><h3 id="h3-3.1.20Save.20the.20info.20to.20USB">3.1 Save the info to USB</h3><p>Insert USB memory.
USB will be mounted on /media/sda1 or /media/sdb1.
</p><pre># cp /tmp/nfo.tgz /media/sda1/
</pre><h3 id="h3-4..20Send.20us.20your.20Platform.20Integrity.20Information.20.28OPTION.29">4. Send us your Platform Integrity Information (OPTION)</h3><p>We would like to use this data to update <a href="http://sourceforge.jp/projects/openpts/wiki/PlatformInfo">PlatformInfo</a> page.
If you'll please send the tar ball to <em>munetoh at users.sourceforge.jp</em>
</p><p>note)
dmidecode reports your SMBIOS information. this is usefull to identify the BIOS metadata, e.g. P/N and BIOS version, 
but it also include an identity of your machine.
Thus, please delete Serial Number and UUID in System Information section before send. thanks.
</p><p>We appreciate your cooperation. :-)
</p><h3 id="h3-5..20Install.20Knoppix.20to.20USB.20Memory.20.28OPTION.29">5. Install Knoppix to USB Memory (OPTION)</h3><p>USB boot also supports Trusted Boot.
</p><pre>$ su
# mkbootdev
</pre><p>This will install syslinux. Next step, we update IPL to Grub-IMA.
e.g. USB drive at /dev/sda, and mounted on /media/sda1
</p><pre># grub-install --recheck --no-floppy --root-directory=/media/sda1 /dev/sda
# cp /cdrom/boot/grub/grub.conf /media/sda1/boot/grub/
</pre>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/TcGeeksQuickSetupGuide">
    <title>TcGeeksQuickSetupGuide</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/TcGeeksQuickSetupGuide</link>
    <dc:identifier>TcGeeksQuickSetupGuide</dc:identifier>
    <dc:date>2008-02-19T13:38:14+09:00</dc:date>
        <description>
      <![CDATA[== KNOPPIX 5.1.1 for Trusted Computing Geeks v1.0.1 - Quick Setup Guide ==

This setup guide is intended for administrator who just setup this OS quickly.

=== 1) Prepare New PC and Geeks CD ===
]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-KNOPPIX.205.1.1.20for.20Trusted.20Computing.20Geeks.20v1.0.1.20-.20Quick.20Setup.20Guide">KNOPPIX 5.1.1 for Trusted Computing Geeks v1.0.1 - Quick Setup Guide</h2><p>This setup guide is intended for administrator who just setup this OS quickly.
</p><h3 id="h3-1.29.20Prepare.20New.20PC.20and.20Geeks.20CD">1) Prepare New PC and Geeks CD</h3><p>Geeks ISO image is available from <a href="http://unit.aist.go.jp/itri/knoppix/index.html" class="external" rel="nofollow">Japanese</a> <a href="http://unit.aist.go.jp/itri/knoppix/index-en.html" class="external" rel="nofollow">English</a>
</p><p>Ubuntu Burning ISO How To <a href="https://wiki.ubuntulinux.jp/UbuntuTips/Install/BurningISO" class="external" rel="nofollow">Japanese</a><a href="https://help.ubuntu.com/community/BurningIsoHowto" class="external" rel="nofollow">English</a>
</p><h3 id="h3-2.29.20Set.20Geeks.20on.20CD.20drive">2) Set Geeks on CD drive</h3><h3 id="h3-2a.29.20Boot.20the.20PC.20and.20enter.20BIOS.20setup.20menu.">2a) Boot the PC and enter BIOS setup menu.</h3><table class="wikitable" border="1"><tbody><tr><td> <strong>Vendor</strong> </td><td> <strong>Key to enter BIOS menu</strong> </td><td> <strong>Location of TPM setup menu</strong> </td><td> <strong>Comments</strong></td></tr><tr><td>IBM, Lenovo </td><td> F1 </td><td> Security -&gt; IBM Security Chip </td><td> </td></tr><tr><td>Panasonic 　</td><td> F2 </td><td> Security tab -&gt; Embedded Security (TPM)Sub-Menu -&gt; Embedded Security Chip -&gt; Enable </td><td> Requires Supervisor PW </td></tr><tr><td>HP </td><td> F10 </td><td> Security menu -&gt; System Security -&gt; Embedded Security Device Support </td><td> requires setup password </td></tr><tr><td>DELL </td><td> F2 </td><td> </td><td> </td></tr><tr><td>Fujitsu </td><td> </td><td> </td><td> </td></tr><tr><td>NEC </td><td> F2 </td><td> </td><td> </td></tr></tbody></table><p>Ref <a href="http://www.michaelstevenstech.com/bios_manufacturer.htm" class="external" rel="nofollow">Access/Enter Motherboard BIOS</a>
</p><h3 id="h3-2b.29.20Enable.20TPM">2b) Enable TPM</h3><h3 id="h3-2c.29.20Boot.20Order">2c) Boot Order</h3><p>1) CD 2) USB Memory 3) Local HDD 
</p><h3 id="h3-2d.29.20Save.20and.20Exit">2d) Save and Exit</h3><h3 id="h3-3.29.20Boot.20the.20Geeks">3) Boot the Geeks</h3><p>Grub boot menu
<table class="wikitable" border="1"><tbody><tr><td> <strong>Entry</strong> </td><td> <strong>Description</strong> </td></tr><tr><td>KNOPPIX (2.6.19.1+ima) </td><td> Normal e.g. Thinkpad T60, Panasonic W7</td></tr><tr><td>KNOPPIX (2.6.19.1+ima, fdev 1024x768) </td><td> for PC with new grapics chip </td></tr><tr><td>KNOPPIX (2.6.19.1+ima, vesa 1024x768) </td><td> for PC with new grapics chip e.g. Thinkpad X60, Dell OptiPlex 755,HP dc7800 etc</td></tr><tr><td> </td><td> </td></tr></tbody></table></p><h3 id="h3-4.29.20Start.20Console.20Terminal">4) Start Console Terminal</h3><p>Click Knosole (terminal icon on menu bar)
</p><h3 id="h3-4a.29.20Update.20Iceweasel.28firefox.29">4a) Update Iceweasel(firefox)</h3><pre>$ cd /cdrom/KNOPPIX/updates
$ sudo dpkg -i iceweasel_2.0.0.12-0etch1_i386.deb
&lt;snip&gt;
</pre><p>Or update to any latest version.
</p><h3 id="h3-4b.29.20Setup.20TPM.20.28Take.20Ownership.29">4b) Setup TPM (Take Ownership)</h3><p>Just enter for SRK password.
<pre>$ tpm_takeownership
Enter owner password: ********
Confirm password: ********
Enter SRK password:
Confirm password:
</pre></p><h3 id="h3-4c.29.20Setup.20Demo">4c) Setup Demo</h3><p>I'm sorry to trouble you, but please fix some typos in the tcdemo.properties file. 
<pre>$ cd /opt/OpenPlatformTrustServices/tcdemo
$ sudo vi tcdemo.properties 
</pre>comment out the 63rd and 64th line
<pre>service.1.url=https:/124.32.19.56/knoppix/measurement_user
#service.1.url=http:/124.32.19.56:80
</pre></p><pre>$ make setup-desktop
$ sudo make start-client-admin-gcj
</pre><p>GUI Tool will start.
</p><ul><li>Reference Manifest Tab
<ul><li>Click &quot;Create/Update&quot; button at Platform Manifest to create new manifest
</li><li>Click &quot;Create/Update&quot; button at Rumtime Manifest to create new manifest
</li></ul></li></ul><p>If new UUID was not appeared, The PC has some problem of TCG support. 
</p><ul><li>Identity Setup Tab
<ul><li>Click &quot;Create Key for Quote&quot; to create a key for remote attestation.
<ul><li>set password for user of this PC
</li></ul></li><li>Click &quot;Setup local settings for User&quot; to setup user's environment.
</li></ul></li></ul><p>Configuration of demo was done. Close the GUI.
</p><div class="indent">
</div><h3 id="h3-4d.29.20Confirm.20the.20Operations">4d) Confirm the Operations</h3><pre>$ sudo make start-client-user-gcj
</pre><p>Click &quot;Validate Platform and Start Service&quot; button and wait for a while.
&quot;Website Certified by an Unknown Authority&quot; dialog will popup, the signature of demoservice as follows, if OK, please accept.
<pre>Common Name (CN) : 124.32.19.56
Certificate Signature Value:
Size: 128 Bytes / 1024 Bits
9d 9b 31 fe 87 6b 82 c6 55 82 6a fa ed c5 79 9b 
61 cc 62 b8 80 19 cd 4f 25 7c 9e 0c 0b 5e aa 30 
67 fb 7a 2b 75 c2 a1 3a 62 f6 47 35 ea ff 41 32 
55 5d 81 25 eb 15 54 02 6e 09 bb 1e 58 40 79 cc 
b0 21 d4 41 21 67 b9 72 cf 95 56 2d 4a 1a ca 41 
f4 28 5f 36 ed 2b e8 28 a3 1a 13 9c dd 39 c7 f8 
37 bd 65 97 f4 c0 9c 57 e3 74 96 b7 59 93 a9 7d 
d2 22 d5 34 e4 3f 09 51 39 ae f8 5d 9d 98 98 c6 
</pre></p><p>&quot;Confirm&quot; dialog to ask log into the site with &quot;guest&quot; account, select OK.
</p><div class="indent">
</div><p>Then &quot;Platform Validation Authority - Listing package page&quot; will open.
</p><h3 id="h3-5.29.20Set.20USB.20Memory">5) Set USB Memory</h3><p>Set a USB memory. Dialog will popup. Please select &quot;Open in New Window&quot; (derault).
</p><h3 id="h3-5a.29.20Save.20UNIONFS.20image.20to.20USB.20Memory">5a) Save UNIONFS image to USB Memory</h3><p>Click KNOPPIX (penguin icon on menu bar)
</p><ul><li>Configure
<ul><li>Create a persistent KNOPPIX disk image
<ul><li>“Create persistent KNOPPIX home directory” dialogue is popup.
<ul><li>Yes
</li><li>Select USB memory device (e.g. /dev/sdb1).
</li><li>No (an AES encryption is not chosen)
</li><li>100 (the image size, 100MB or more), wait a moment to complete the operation
</li><li>O.K. (completion)
</li></ul></li></ul></li></ul></li></ul><h3 id="h3-6.29.20Reboot.20and.20Confirm.20the.20Operations.20.28option.29">6) Reboot and Confirm the Operations (option)</h3><p>Restart the PC with Geeks CD and the USB memory.
Click the &quot;TCDEMO_UserTool&quot; icon on the desktop to start the demo GUI again.
</p><p>That's it. Enjoy:-)</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/PlatformBiosInt1AhInfo">
    <title>PlatformBiosInt1AhInfo</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/PlatformBiosInt1AhInfo</link>
    <dc:identifier>PlatformBiosInt1AhInfo</dc:identifier>
    <dc:date>2008-02-13T15:36:50+09:00</dc:date>
        <description>
      <![CDATA[= Platform Info (BIOS INT 1AH Functions) =

This table shows the test result of BIOS INT 1AH Functions. In this test, we use &quot;tpm test&quot; command that supported by Grub-IMA patch. Let us kno]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-Platform.20Info.20.28BIOS.20INT.201AH.20Functions.29">Platform Info (BIOS INT 1AH Functions)</h1><p>This table shows the test result of BIOS INT 1AH Functions. In this test, we use &quot;tpm test&quot; command that supported by Grub-IMA patch. Let us know the your test result and please feel free to contact us (mailto: munetoh at users.sourceforge.jp) if you have any question. 
</p><p>Sorted by BIOS release date
<table class="wikitable" border="1"><tbody><tr><td><strong>Vendor, Type, P/N</strong> </td><td> <strong>BIOS Version</strong> </td><td><strong>BIOS Date</strong> </td><td><strong>BB00h</strong> </td><td> <strong>BB01h</strong> </td><td><strong>BB02h</strong> </td><td> <strong>BB03h</strong> </td><td><strong>BB04h</strong> </td><td><strong>BB05h</strong> </td><td><strong>BB06h</strong> </td><td><strong>BB07h</strong> </td></tr><tr><td> </td><td> </td><td> </td><td>TCG_ Status Check</td><td>TCG_ Hash Log Extend Event </td><td>TCG_ Pass Through To TPM </td><td>TCG_ Shutdown Pre Boot Interface </td><td>TCG_ Log Event </td><td>TCG_ Hash All </td><td>TCG_ TSS  </td><td>TCG_ Compact Hash Log Extend Event</td></tr><tr><td>IBM, Thinkpad X30, 26724HJ </td><td>1KET46WW (1.07 ) </td><td>07/02/2004</td><td>OK (v1.0)</td><td>OK (F2 only) </td><td>OK</td><td>-</td><td>OK (w/ extend) </td><td>OK </td><td>-</td><td>NA </td></tr><tr><td>Lenovo, Thinkpad X60, 1706Q6J </td><td>7BETC7WW (2.18 ) </td><td>03/07/2007</td><td>OK (v1.2)</td><td>OK (F1,F2) </td><td>OK</td><td>-</td><td>OK (w/o extend) </td><td>OK </td><td>-</td><td>OK </td></tr><tr><td>DELL, OptiPlex 755  </td><td> A01          </td><td>08/10/2007</td><td>OK (v1.2)</td><td>OK (F1,F2) </td><td>OK</td><td> - </td><td>OK (w/o extend) </td><td>OK </td><td>- </td><td>OK </td></tr><tr><td>HP, dc7800p, GC760AV </td><td> 786F1 v01.04 </td><td>08/27/2007</td><td>OK (v1.2)</td><td>(1)        </td><td>OK</td><td>-</td><td>(1)          </td><td>OK </td><td>- </td><td>(1)</td></tr><tr><td>Panasonic W7,CF-W7BWHAJS </td><td>V1.00L10  </td><td>09/28/2007</td><td>OK (v1.2)</td><td>OK (F1,F2) </td><td>OK</td><td>-</td><td>OK(w/ Extend)</td><td>OK </td><td>- </td><td>OK </td></tr><tr><td>Intel,DQ35JO  </td><td>JOQ3510J...          </td><td>01/02/2008</td><td>OK (v1.2)</td><td>NG         </td><td>? </td><td>-</td><td>NG </td><td>OK</td><td>-</td><td>OK</td></tr><tr><td>? </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>? </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr></tbody></table></p><p>1) Could not check the BIOS since the eventlog was broken.
</p><h2 id="h2-How.20to.20Check.3F">How to Check?</h2><p>Let's use <a href="http://unit.aist.go.jp/itri/knoppix/index-en.html" class="external" rel="nofollow">KNOPPIX511 Trusted Computing Geeks</a> to check the BIOS Int 1AH capability of your PC.
</p><ol><li>Enable TPM (BIOS Configuration)
</li><li>Boot TC Geeks.
</li><li>at GRUB menu screen, type &quot;c&quot; to enter the console mode 
</li></ol><pre>Grub&gt; tpm test
Start BIOS TCG compliance check
0) TCG_StatusCheck - INT 1Ah (AH)=BBh,(AL)=00h
TCG Version major   : 1
TCG Version major   : 2
BIOS Eventtable ptr : 0x3F6E1C26
1) TCG_HashLogExtendEvent - INT 1Ah (AH)=BBh,(AL)=01h (v1.1 &amp; v1.2) (Format 2)
 Good Eventlog &amp; PCR - OK
2) TCG_PassThroughToTPM - INT 1Ah (AH)=BBh,(AL)=02h
 OK
   PCR[15]=9E70.....8AEB
3) TCG_ShutdownPreBootInterface - INT 1Ah (AH)=BBh,(AL)=03h
 SKIP
4-1) TCG_LogEvent (w/ Extend) - INT 1Ah (AH)=BBh,(AL)=04h (IBM/Lenovo only?)
 Wrong PCR Value = 0000....
       should be = 0EE2....
 Event Log is OK, but PCR[14] has wrong value
4-2) TCG_LogEvent (w/o Extend) - INT 1Ah (AH)=BBh,(AL)=04h (v1.2)
 Good Eventlog &amp; PCR - OK
5) TCG_HashAll - INT 1Ah (AH)=BBh,(AL)=05h
 OK!
6) TCG_TSS - INT 1Ah (AH)=BBh,(AL)=06h- TBD
 SKIP
7) TCG_CompactHashLogExtendEvent - INT 1Ah (AH)=BBh,(AL)=07h
 OK!
</pre><p>Next, try with --format=1 option to check the another input format of BB01h(TCG_HashLogExtendEvent) call.
</p><pre>Grub&gt; tpm test --format=1
&lt;snip&gt;
1) TCG_HashLogExtendEvent - INT 1Ah (AH)=BBh,(AL)=01h (v1.1 &amp; v1.2) (Format 1)
 Good Eventlog &amp; PCR - OK
&lt;snip&gt;
</pre><h2 id="h2-Known.20problems">Known problems</h2><h3 id="h3-BB01h.20.28TCG_HashLogExtendEvent.29">BB01h (TCG_HashLogExtendEvent)</h3><p>IBM BIOS with TPM v1.1b support &quot;Format 2&quot; input defined by TCG v1.2 spec.
</p><h3 id="h3-BB04h.20.28TCG_LogEvent.29">BB04h (TCG_LogEvent)</h3><p>There are two behaviors, The call with Extend operation, and without Extend operation. 
In the TCG v1.2 specification, &quot;without Extend&quot; is right operation. 
</p><div class="indent">
</div><h3 id="h3-Broken.20Eventlog">Broken Eventlog</h3><p>Some PC destroy the ACPI Eventlog table structure after Int 1Ah BB01h(TCG_HashLogExtendEvent) call.
</p><h2 id="h2-References">References</h2><p><a href="https://www.trustedcomputinggroup.org/groups/pc_client/TCG_PCSpecificSpecification_v1_1.pdf" class="external" rel="nofollow">TCG PC Specific Implementation Specification Version 1.1 (pdf, 403Kb)</a><br />
<a href="https://www.trustedcomputinggroup.org/specs/PCClient/TCG_PCClientImplementationforBIOS_1-20_1-00.pdf" class="external" rel="nofollow">TCG PC Client Specific Implementation Specification for Conventional Bios  Version 1.2 (pdf, 809Kb)</a><br />
<a href="http://www.microsoft.com/whdc/system/platform/hwsecurity/BitLockerReq.mspx" class="external" rel="nofollow">Windows Vista BitLocker Client Platform Requirements</a>, this requires BB00,BB02,BB03, and BB07<br />
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToUseWithKnoppixJp">
    <title>HowToUseWithKnoppixJp</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToUseWithKnoppixJp</link>
    <dc:identifier>HowToUseWithKnoppixJp</dc:identifier>
    <dc:date>2008-01-24T17:04:48+09:00</dc:date>
        <description>
      <![CDATA[このページは作成中です。

----


EOF]]>
    </description>
    <content:encoded>
      <![CDATA[<p>このページは作成中です。
</p><hr /><p>EOF</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToUseWithKnoppix">
    <title>HowToUseWithKnoppix</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToUseWithKnoppix</link>
    <dc:identifier>HowToUseWithKnoppix</dc:identifier>
    <dc:date>2008-01-24T17:04:07+09:00</dc:date>
        <description>
      <![CDATA[under construction

----


EOF]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction
</p><hr /><p>EOF</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/openpts/wiki/HowToBuildForRedHat">
    <title>HowToBuildForRedHat</title>
    <link>http://sourceforge.jp/projects/openpts/wiki/HowToBuildForRedHat</link>
    <dc:identifier>HowToBuildForRedHat</dc:identifier>
    <dc:date>2008-01-24T15:09:01+09:00</dc:date>
        <description>
      <![CDATA[under construction

----

== How To Build !OpenPlatformTrustServices for !RedHat EL5 / CentOS5. ==

Following instruction is tested by using CentOS5.

----

=== Preparing === 

Download an]]>
    </description>
    <content:encoded>
      <![CDATA[<p>under construction
</p><hr /><h2 id="h2-How.20To.20Build.20.21OpenPlatformTrustServices.20for.20.21RedHat.20EL5.20.2F.20CentOS5.">How To Build OpenPlatformTrustServices for RedHat EL5 / CentOS5.</h2><p>Following instruction is tested by using CentOS5.
</p><hr /><h3 id="h3-Preparing">Preparing</h3><p>Download and Install Java Development Kit V6 from <a href="http://java.sun.com/javase/downloads/index.jsp" class="external" rel="nofollow">http://java.sun.com/javase/downloads/index.jsp</a>
</p><pre># sh jdk-6u4-linux-i586-rpm.bin
# export JAVA_HOME=/usr/java/jdk1.6.0_04
# export PATH=/usr/java/jdk1.6.0_04/bin:$PATH
</pre><p>Install TrouSers(0.2.9.x) and tpm-tools from <a href="http://sourceforge.net/projects/trousers/" class="external" rel="nofollow">http://sourceforge.net/projects/trousers/</a>
</p><p>Download jTreemap and Install from <a href="http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip" class="external" rel="nofollow">http://jaist.dl.sourceforge.net/sourceforge/jtreemap/jtreemap-1.1.0.zip</a>
<pre># cp jtreemap-1.1.0.zip /tmp/
# cd /opt
# unzip /tmp/jtreemap-1.1.0.zip
</pre></p><h3 id="h3-Build.20and.20Install.20.21OpenPlatformTrustServices">Build and Install OpenPlatformTrustServices</h3><p>Download  OpenPlatformTrustServices OpenPlatformTrustServices-tools OpenPlatformTrustServices-tcdemo packages from <a href="http://sourceforge.jp/projects/openpts.">http://sourceforge.jp/projects/openpts.</a>
</p><ol><li>Copy dist/*.spec files to /usr/src/redhat/SPECS/
</li><li>Copy tar files to /usr/src/redhat/SOURCES/ as tar.gz
</li><li>Build and install OpenPlatformTrustServices and OpenPlatformTrustServices-tools
</li><li>Build and install OpenPlatformTrustServices-tcdemo
</li></ol><pre>$ tar xzvf OpenPlatformTrustServices-0.1.0.tgz
$ tar xzvf OpenPlatformTrustServices-tools-0.1.0.tgz
$ tar xzvf OpenPlatformTrustServices-tcdemo-0.1.0.tgz

$ cp OpenPlatformTrustServices-0.1.0/dist/OpenPlatformTrustServices.spec /usr/src/redhat/SPECS/
$ cp OpenPlatformTrustServices-tools-0.1.0/dist/OpenPlatformTrustServices* /usr/src/redhat/SPECS/
$ cp OpenPlatformTrustServices-tcdemo-0.1.0/dist/OpenPlatformTrustServices-tcdemo.spec /usr/src/redhat/SPECS/

$ cp OpenPlatformTrustServices-0.1.0.tgz /usr/src/redhat/SOURCES/OpenPlatformTrustServices-0.1.0.tar.gz
$ cp OpenPlatformTrustServices-tools-0.1.0.tgz /usr/src/redhat/SOURCES/OpenPlatformTrustServices-tools-0.1.0.tar.gz
$ cp OpenPlatformTrustServices-tcdemo-0.1.0.tgz /usr/src/redhat/SOURCES/OpenPlatformTrustServices-tcdemo-0.1.0.tar.gz

# cd /usr/src/redhat/SPECS/
# rpmbuild -bb OpenPlatformTrustServices-tools.spec
# rpmbuild -bb OpenPlatformTrustServices.spec

# cd /usr/src/redhat/RPMS/i386/
# rpm -ivh --nodeps OpenPlatformTrustServices-tools-0.1.0-1.i386.rpm

# cd /usr/src/redhat/RPMS/noarch/
# rpm -ivh OpenPlatformTrustServices-0.1.0-1.noarch.rpm

# cd /usr/src/redhat/SPECS/
# rpmbuild -bb OpenPlatformTrustServices-tcdemo.spec
# cd /usr/src/redhat/RPMS/i386/
# rpm -ivh --nodeps OpenPlatformTrustServices-tcdemo-0.1.0-1.i386.rpm
</pre><hr />]]>
    </content:encoded>
      </item>
    </rdf:RDF>

