zoukankan      html  css  js  c++  java
  • 【TPM】tpm搭建基础指南

    pm君第一次通过各种摸索,成功搭建了tpm模拟环境,本篇博客记录了如何去搭建tpm模拟环境,希望能给大家一些帮助。

    参考资料(推荐看)

    准备

    1.有一个Ubuntu环境的虚拟机

    我用的虚拟机是VMware Workstation,Ubuntu镜像用的是官网上的。

    2.搭建tpm所需的安装包

    大家可以先下好安装包再进行搭建

    搭建步骤

    1.安装m4

    在终端输入命令sudo apt-get install m4

    2.安装CMake

    cmake安装包

    (1)解压:tar -zxf cmake-XXX.tar.gz

    (2)安装:

    cd cmake-XXX
    ./bootstrap
    make
    sudo make install
    
    • 参考其中的Readme.txt文件

    3.安装GNU MPlibrary

    GNU MPlibrary安装包

    (1)解压:tar -jxf gmp-XXX.tar.bz2

    (2)安装:

    ./configure
    make
    make check
    sudo make install
    
    • 参考其中的INSTALL文件

    4.安装TPM_emulator

    Tpm_emulator安装包

    (1)解压:unzip master.zip

    (2)安装:

    cd tpm-emulator-master/
    mkdir build;
    cd build
    cmake ../
    make
    sudo make install
    
    

    【试验】初始化、启动TPM_emulator

    (1)初始化tpm:

    tpmd deactivated
    killall tpmd
    tpmd clear    
    

    **(2)启动tpm: **

    sudo depmod -a
    sudo modprobe tpmd_dev
    sudo tpmd -f -d
    
    • 如果成功,会不断打印:Debug: waiting for connections…

    5.安装TSS协议栈

    5.1 安装trouser

    trouser安装包

    (1)解压:

    mkdir  trousers
    cd trousers
    tar -xzvf trousers-XXX.tar.gz 
    

    (2)安装依赖(参考安装包里的README):

    Packages needed to build:
      automake > 1.4
      autoconf > 1.4
      pkgconfig
      libtool
      gtk2-devel
      openssl-devel >= 0.9.7
      pthreads library (glibc-devel)
    
    

    这些都是建议安装的,我参考的是【Ubuntu 16.10 / 树莓派3 安装TPM_emulator】,使用的命令是:apt-get install -y automake1.9 autoconf2.64 pkgconf pkg-config libtool gtk2-engines openssl

    (3)编译安装前的修改:

    • 我们需要把它的tddl库改成tpm_emulator提供的库,
    • tpm_emulator提供的库的路径为:/usr/local/lib/libtddl.so
    • 大家可以看一下自己的libtddl.so是不是在这里
    • 我们需要修改以下两个文件:

    ./src/tcsd/Makefile.am文件

    第四行:

    tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a ${top_builddir}/src/tcs/libtddl.so -lpthread @CRYPTOLIB@  
    

    修改为:

    tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a /usr/local/lib/libtddl.so -lpthread @CRYPTOLIB@
    

    ./src/tcsd/Makefile.in文件

    第55,56行:

    tcsd_DEPENDENCIES = ${top_builddir}/src/tcs/libtcs.a 
        ${top_builddir}/src/tddl/libtddl.a
    

    修改为:

    tcsd_DEPENDENCIES = ${top_builddir}/src/tcs/libtcs.a 
        /usr/local/lib/libtddl.so
    
    • 注:该版本文件夹中没有bootstrap,因此省略sh bootstrap.sh步骤

    (4)编译安装:

    ./configure
    make
    sudo make install
    

    5.2 安装tpm_tools

    sudo apt-get install tpm-tools

    【试验】启动tcsd

    (1)先开一个终端,启动TPM_emulator(上文有):

    sudo depmod -a
    sudo modprobe tpmd_dev
    sudo tpmd -f -d
    

    (2)再开一个终端,启动tcsd:
    sudo tcsd -e -f

    • 别关,接着试验一下tpm_tools是否安装成功

    【试验】tpm_tools是否安装成功

    在上一个试验的基础上,再开一个终端,输入如下命令测试运行:

    在/usr/sbin目录下有3个关于tpm的命令运行如下
    cd /usr/sbin
    ./tpm_version      #查看版本号
    ./tpm_getpubek   #查看ek公钥
    ./tpm_takeownership   #获取owner
    

    如果以上试验都成功了,那么恭喜你,TPM模拟环境已经完全构建成功了~

    如果大家想体验一下使用该环境,可以参考【Ubuntu 16.10 / 树莓派3 安装TPM_emulator】的第6节:与TPM_emulator交互 来进行尝试

  • 相关阅读:
    XAML学习笔记之Layout(五)——ViewBox
    XAML学习笔记——Layout(三)
    XAML学习笔记——Layout(二)
    XAML学习笔记——Layout(一)
    从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)
    从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server 2012 AlwaysOn 第一篇(AD域与DNS)
    Sql Server 2012 事务复制遇到的问题及解决方式
    Sql Server 2008R2升级 Sql Server 2012 问题
    第一次ACM
  • 原文地址:https://www.cnblogs.com/protectmonarch/p/8629428.html
Copyright © 2011-2022 走看看