TPM软件模拟环境搭建


#### 主要内容

​ 本文旨在记录当前没有硬件TPM的条件下,通过软件来模拟TPM的完整搭建过程。

环境准备

  • 操作系统版本:Ubuntu 14.04
  • 对应内核版本:Linux 3.13.0-24-generic
  • VMware 版本:VMware 10.0

搭建步骤

  1. 创建ubuntu虚拟机

    使用VMware软件新建一台ubuntu虚拟机,此步骤相信大家不会陌生,此处不再介绍,具体搭建过程请参考该博客:# VMware Ubuntu安装详细过程

  2. 在创建好的虚拟机中安装cmake
    • 提前下载好cmake-3.8.2.tar.gz压缩包,使用下面的命令进行安装,具体如下:

      1
      tar -zxvf cmake-3.8.2.tar.gz
    • 若提示缺少c编译器,可使用下面的命令解决:

      1
      sudo apt-get install build-essential
    • cd进入cmake目录,执行以下命令:

      1
      ./bootstrap && make && make install
  3. 在创建好的虚拟机中安装gmp
    • 提前下载好gmp-6.1.2.tar.lz压缩包,使用下面的命令进行安装,具体如下:

      1
      2
      3
      sudo apt-get install lzip
      lzip -d gmp-6.1.2.tar.lz
      tar -xvf gmp-6.1.2.tar
    • 需使用下面的命令安装m4:

      1
      sudo apt-get install m4
    • cd进入gmp目录,执行以下命令:

      1
      ./configure && make && make check && make install
  4. 在创建好的虚拟机中安装tpm_emulator
    • 提前下载好tpm_emulator-0.7.4.tar.gz压缩包,使用下面的命令进行安装,具体如下:

      1
      tar -zxvf tpm_emulator-0.7.4.tar.gz
    • cd进入tpm_emulator-0.7.4目录,执行以下命令:

      1
      mkdir build
    • cd进入build目录,执行以下命令:

      1
      cmake ../ && make && make install
    • [注意] 若出现Module tpmd_dev not found,则先运行命令sudo depmod -a

  5. 在创建好的虚拟机中安装trouser-0.3.8
    • 提前下载好trouser-0.3.8.tar.gz压缩包,使用下面的命令进行安装,具体如下:

      1
      tar -zxvf trouser-0.3.8.tar.gz
    • cd进入trouser-0.3.8目录,执行以下命令:

      1
      sudo vim ./src/tcsd/MakeFile.am

      修改./src/tcsd/Makefile.am第4行如下:tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a /usr/local/lib/libtddl.so -lpthread @CRYPTOLIB@

      1
      sudo vim ./src/tcsd/MakeFile.in

      修改./src/tcsd/Makefile.in第55,56行如下:tcsd_DEPENDENCIES=${top_builddir}/src/tcs/libtcs.a /usr/local/lib/libtddl.so

    • 修改完成后执行以下命令:

      1
      ./configure
    • [注意]

      上面修改中的/usr/local/lib/有时可能会是/usr/lib,可查看libtddl.so的位置来确定是哪个目录。

      执行./configure可能会报openssl的错误,需要安装:sudo apt-get install libssl-dev

    • 最后执行以下命令:

      1
      make && make install
    • [注意] 上述命令如果报错,请使用下面的方法解决:

      • 在执行第三步的时候,前面加上:

        1
        env CFLAGS="-Wno-unused-but-set-variable" ./configure
      • 执行完./configure后再次执行make即可。

  6. 在创建好的虚拟机中安装tpm-tools
    • 提前下载好tpm-tools-1.3.8.tar.gz压缩包,使用下面的命令进行安装,具体如下:

      1
      tar -zxvf tpm-tools-1.3.8.tar.gz
    • cd进入tpm-tools-1.3.8目录,执行以下命令:

      1
      ./configure
    • [注意] 若出现ld returned 1 exit status,error, undefinedreference的情况,可将执行命令修改为

      1
      ./configure --prefix=/usr
    • 最后执行以下命令:

      1
      make && make install

验证环节

  • 进入tpm-tools-1.3.8/src/tpm_mgmt/目录下查看以下三个信息:

    1
    2
    3
    #./tpm_version         #查看版本号
    #./tpm_getpubek #查看ek公钥
    #./tpm_takeownership #获取owner
  • [注意] 执行tpm_version若出现error while loading shared libraries: libtspi.so.1: cannot openshared object file: No such file or directory,则:

    1
    sudo apt-get install libtspi-dev

结束语

至此TPM模拟环境已经搭建完毕,验证环节都通过则表明TPM模拟环境已经完全没问题了。此外,如果博友在其他版本的搭建过程中遇到问题,请首先参考本文中的方法自行测试,实在无法解决可以联系博主。

-------- 本文结束 感谢阅读 --------

本文标题:TPM软件模拟环境搭建

文章作者:FunctFan

发布时间:2020年06月18日 - 14:36:16

最后更新:2021年06月21日 - 01:59:12

原始链接:https://functfan.github.io/posts/1903345210/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。