zoukankan      html  css  js  c++  java
  • Ubuntu 18.04 LTS 构建TPM_emulator模拟器

    Ubuntu 18.04 LTS 构建TPM_emulator模拟器

    一、 安装准备

    1. 环境

    主机:Windows 10 1909 18363.657

    虚拟机平台:VMware Workstation Pro 15.0

    虚拟机:Ubuntu 18.04 LTS

    • Linux 系统下,内核 2.6.12 版本及以上提供了对 TPM 芯片的支持,如果不能满足请下载满足要求的版本:中科大镜像站Ubuntu

    2. 依赖

    sudo su
    apt-get install g++
    apt-get install m4
    
    #安装openssl-devel
    apt-get install openssl
    apt-get install libssl-dev
    
    apt-get install tpm-tools
    

    2. 下载

    软件包 官网 百度云
    gmp-6.2.0.tar.xz http://gmplib.org 百度云链接三样打包(点击) 验证码:2svg
    tpm-emulator-master.zip https://github.com/gscsnm/tpm-emulator 同上
    trousers-0.3.14.tar.gz https://sourceforge.net/projects/trousers/files/trousers/ 同上
    • 由于有些软件包打包压缩前没有文件夹包裹,解压后会解压到软件包所在文件夹。所以下载完之后,应该创建三个文件夹分别存入并解压,或指定解压路径。

    二、 软件安装

    0. 由于软件依赖性,请按步骤依次安装

    1. cmake

    sudo -s 
    apt-get install cmake
    

    2. tpm-tools

    sudo apt-get install tpm-tools  #应安装过
    

    3. gmp

    sudo su
    tar xvJf gmp-6.2.0.tar.xz
    cd gmp-6.2.0
    
    ./configure
    make
    make check
    make install
    

    4.tpm-emulator

    • [1] 安装tpm-emulator

      unzip tpm-emulator-master.zip
      cd tpm-emulator-master
      
      mkdir build
      cd build
      export ARCH=x86
      cmake ../
      make install
      
    • [2] 初始化tpm-emulator

      tpmd deactivated
      killall tpmd
      tpmd clear
      
    • [3] 启动tpm-emulator

      modprobe tpmd_dev
      tpmd -f -d clear
      

      若成功,则显示:

      tpm_startup.c:43: Info: TPM_Startup(1)
      tpmd.c:416: Debug: waiting for connections...
      

      若出现Module tpmd_dev not found,则先运行命令:

      depmod -a
      

      若出现failed: address already in use,则运行以下命令:

      rm /var/run/tpm/tpmd_socket:0
      

    5. trousers

    • 0.3.14版本(本文使用)

      tar zxvf trousers-0.3.14.tar.gz
      #由于无文件夹包裹,直接在软件包目录进行
      ./configure
      make
      make install
      
    • 0.3.8版本 才需要修改Makefile.am和Makefile.in文件 , 会遇到Werror、ld链接库等报错问题 。推荐本文使用的 0.3.14版本。

    三、 启动与检验

    1. 启动顺序:tpm-emulator -> tcsd

    • [0] 2个终端

    • [1] 一个终端启动tpm-emulator: tpmd -f -d

    • [2] 另一个终端启动tcsd:tcsd -e -f

    • 成功:

      #tpm-emulator终端循环显示
      tpmd.c:456: Debug: waiting for commands...
      
      #tcsd终端显示
      TCSD TDDL ioctl: (25) Inappropriate ioctl for device
      TCSD TDDL Falling back to Read/Write device support.
      TCSD trousers 0.3.14: TCSD up and running.
      
    • 失败:

      #tcsd终端显示
      TCSD TDDL ioctl: (25) Inappropriate ioctl for device
      TCSD TDDL Falling back to Read/Write device support.
      TCSD TCS ERROR: TCS GetCapability failed with result = 0x1c
      
      #在tpm-emulator终端输入
      tpmd -f -d clear
      

    2. 检验

    在tpm与tcsd启动前提下输入:

    cd /usr/sbin
    ./tpm_version         #查看版本号
    ./tpm_getpubek        #查看ek公钥
    ./tpm_takeownership   #获取owner
    

    如果成功显示相关信息,证明TPM模拟环境搭建成功。

    四、参考

  • 相关阅读:
    socket.io
    CUDA升级后
    QT安装
    windows时钟服务设置
    QT的DPI支持
    cudaDeviceProp结构体
    C#调用C++的dll各种传参
    「LibreOJ#516」DP 一般看规律
    「LibreOJ#515」贪心只能过样例 (暴力+bitset)
    [Codeforces888E]Maximum Subsequence(暴力+meet-in-the-middle)
  • 原文地址:https://www.cnblogs.com/Yogile/p/12328275.html
Copyright © 2011-2022 走看看