ubuntu搭建TPM emulator

首先我们安装的针对于TPM芯片的模拟器
然后是在linux环境下
所以就需要安装虚拟机和操作系统
这里对应的是VMware14和Ubuntu16
注:如果安装操作系统的时候出现了报错 kernel panic ,一般就是因为虚拟机版本过低,版本不兼容
然后就是为操作系统创建root用户

  • 安装TPM需要安装:

1.CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
其基本操作流程为:
$> ccmake directory
$> cmake directory
$> make
其中directory为CMakeList.txt所在目录;
第一条语句用于配置编译选项,如VTK_DIR目录 ,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用场;
第二条命令用于根据CMakeLists.txt生成Makefile文件;
第三条命令用于执行Makefile文件,编译程序,生成可执行文件;

2.GNU是一个类Unix操作系统。它是由多个应用程序、系统库、开发工具乃至游戏构成的程序集,也就是它是一个致力于自由开源软件的一个平台

3.GMP是一个用于任意精确算术的免费库,可对带符号整数、有理数和浮点数进行操作。除了机器GMP运行时可用内存所暗示的精度之外,对精度没有实际的限制。GMP具有丰富的功能集,功能具有规则的接口。
GMP的主要目标应用是密码学应用与研究、互联网安全应用、代数系统、计算代数研究等。
GMP是精心设计的,以尽可能快,无论是小的操作数和巨大的操作数

4.tpm仿真器包
包括三个主要部分:
a) tpmd—实现实际仿真器的用户空间应用程序可以通过Unix域套接字(Unix)或命名管道(Windows)。
b) tpmd_dev -提供设备/dev/tpm的内核模块向后兼容并将接收到的命令转发给tpmd(只适用于Unix和Mac OS X)。
c) tddl -为仿真器提供一个符合TSS的设备驱动程序库。

5.TSS

它为安全应用软件在硬件上提供支持。事实上,安全应用程序不能直接访问TPM,而是通过调用TSS (TCG Software Stack, TCG软件协议栈)接口来使用TPM提供的安全功能。
可信计算组织(TCG)定义的可信平台模块(TPM),是一种置于计算机中的新的嵌入式安全子系统。它为安全应用软件在硬件上提供支持。事实上,安全应用程序不能直接访问TPM,而是通过调用TSS接口来使用TPM提供的安全功能。TSS就是使用户可以使用TPM所提供的相关服务,这些服务包括:完整性度量及报告、认证功能和加、解密服务等。

  • 安装过程中出现的错误:

一开始TPM模拟器安装到96%的时候安装不成功,后来发现是因为内核与其版本不兼容,所以更换了一个版本的模拟器,成功了
错误信息:
struct msghdr’ has no member named ‘msg_iovlen’ msg.msg_iovlen = 1;

之后安装TSS软件协议栈的时候,安装不成功
需要先将安装环境更新一下,再重新安装,之后就安装成功了
apt-get update,相当于把资源库更新了一下

再然后启动tpm模拟器的时候出现了报错:/tpm/tpm_startup.c:83: Error: restoring permanent data failed
解决方法就是在“启动软TPM”这个地方把
#tpmd -f -d 换成 #tpmd -f -d clear

#modprobe tpmd_dev //将该模块加入内核

#tpmd -f -d
启动模拟器再同时启动TSTD,这个时候就相当于模拟器启动成功了,并可以查看这个模拟器的版本等等信息**
先打开2个窗口各运行tpmd和tcsd命令,Ctrl+alt+T打开新窗口
ubuntu搭建TPM emulator_第1张图片ubuntu搭建TPM emulator_第2张图片
ubuntu搭建TPM emulator_第3张图片

//setup tpm

#modprobe tpmd_dev //将该模块加入内核

#tpmd -f -d

注:

#tpmd [-d] [-f][-h] [start mode]
其中[-d]: enable debug mode
[-f]:force the application to run in the
forground 会显示你发送给tpmd的命令
[-h]:print this help message 打印帮助消息
Start mode:’clear’清除之前的状态, ’save’默认情况下打开之前的状态, ‘deactivate’无效

然后TPMManger其实就是相当于提供了可视化的界面来查看TPM芯片的信息
链接:https://github.com/Rohde-Schwarz/TPMManager

一些长识:
” apt-get“是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统 ,可以为你获取和安装二进制软件包,而节省编译的时间
depmod可检测模块的相依性,供modprobe在安装模块时使用。

你可能感兴趣的:(信息安全)