Skip to content

Setting up the SIMP TPM Simulator

NSA Personnel edited this page Jan 28, 2020 · 1 revision

Setting up the SIMP TPM 1.2 Simulator

If your machine does not have a hardware TPM, you will need to use a TPM emulator with Kmyth. The SIMP TPM 1.2 Simulator is one emulator implementation that is easy to get up and running.

Use the following instructions to build and/or install the SIMP TPM 1.2 Simulator on CentOS 7. Additional information can be found on the SIMP GitHub and ReadTheDocs sites.

Building the SIMP TPM 1.2 Simulator

  1. Clone the SIMP TPM 1.2 Simulator GitHub repository:
$ git clone https://github.com/simp/simp-tpm12-simulator.git
  1. Install bundle for use in building the simulator RPMs:
$ gem install bundler

bundle is a tool for managing Ruby project environments, providing easy tracking and installation of Ruby dependencies (see here for more information). Note that you must have Ruby 2.3.0+ to install and use bundle.

  1. Use bundle to build the RPMs for the simulator:
$ cd simp-tpm12-simulator
$ bundle install
$ bundle exec rake pkg:rpm

For CentOS 7, the simulator RPMs should now be available under the simp-tpm12-simulator.el7/dist directory:

$ ls -laht simp-tpm12-simulator.el7/dist/*.rpm
simp-tpm12-simulator.el7/dist/simp-tpm12-simulator-4769.0.0-0.el7.src.rpm
simp-tpm12-simulator.el7/dist/simp-tpm12-simulator-4769.0.0-0.el7.x86_64.rpm

Installing and Configuring the SIMP TPM 1.2 Simulator

  1. Use yum to install the simulator RPMs built in the prior section. Depending on your user permissions you may need to run this command under sudo.
$ yum localinstall simp-tmp12-simulator.el7/dist/simp-tpm12-simulator-*.rpm
  1. Once installed you can use systemctl to start up the different simulator services:
$ systemctl start tpm12-simulator
$ systemctl start tpm12-tpmbios
$ systemctl restart tpm12-simulator
$ systemctl start tpm12-tpmbios
$ systemctl start tpm12-tpminit
$ systemctl start tpm12-tcsd
  1. Once configured you can use the tpm_version utility to verify that the simulator is up and running. Your output should look like this:
$ tpm_version
  TPM 1.2 Version Info:
  Chip Version:        1.2.18.160
  Spec Level:          2
  Errata Revision:     3
  TPM Vendor ID:       IBM
  TPM Version:         01010000
  Manufacturer Info:   49424d00

You are now ready to start using Kmyth with the SIMP TPM 1.2 Simulator.