-
Notifications
You must be signed in to change notification settings - Fork 1
XinyuShe/Trusted-Computing-Practise
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
一、编译: 在没有物理TPM的机器上,可以使用TPM Emulator完成TPM的相关实验。下面介绍一下如何安装TPM Emulator以及TSS。然后完成相应的实验。 这里以Ubuntu 12.04为例,其它的发行版与其类似。 解压并编译安装TPM Emulator: 1、tar xvzf tpm-emulator.tar.gz 2、cd tpm-emulator 3、sudo apt-get install libgmp-dev cmake #Ubuntu 10.04 下用:sudo apt-get install libgmp3-dev cmake 4、./build.sh 5、cd build 6、sudo make install 7、sudo depmod -a 安装TSS软件栈: sudo apt-get install libtspi-dev trousers 二、初始化 解压并编译本次实验源码: 1、tar xvzf trusted-computing-projectv0.3.tar.gz 2、cd trusted-computing-projectv0.3 3、make clean 4、make 之后正式开始实验,现进行初始化操作: 1、sudo modprobe tpm_tis # 如果是tpm emulator则:sudo modprobe tpmd_dev; sudo tpmd -f -d clear 2、再打开一个终端(注意:前面tpmd那个终端不要关),运行sudo tcsd 3、确保TPM没有被TakeOwnership,否则会出错 4、进入init目录,运行./Tspi_TPM_TakeOwnership01 -v 1.2 5、运行 ./create_mig_key -v 1.2(输入pin) 三、KeyHierarchy 1、进入Key hierarchy目录 2、参考K1、K2、K3的创建过程,以及TSS文档,完善create_register_key.c中创建K4的代码,运行./create_register_key -v 1.2 3、参考K1、K2、K3的加载过程,以及TSS文档,完善load_key.c中加载K4的代码,运行./load_key -v 1.2 四、Seal、Unseal和extend 1、进入SealUnseal目录 2、运行./seal -v 1.2 (成功) 3、运行./unseal -v 1.2 (成功) 4、运行./extend -v 1.2 (成功) 5、运行./unseal -v 1.2 (失败) 6、运行./seal_file test.c test.en(查看文件test.en的内容) # unseal_file.c 由同学们自己完成。 7、运行./unseal_file test.en test.de(查看文件test.de的内容) 8、运行./extend -v 1.2 9、运行./unseal_file test.en test.de(失败) 五、KeyMigration 1、进入Key Migration目录 # platform_dst.c中的TODO部分由同学们自己来完成 2、在机器1中运行./platform_dst -g ,会产生名为srk.pub的文件 3、把文件srk.pub拷贝到机器2中 4、在机器2中运行./platform_src ,会产生名为mig.blob的文件 5、把文件mig.blob拷贝到机器1中 6、在机器1中运行./platform_dst -m 六、RemoteAttestation(可选) 机器1: 1、进入Remote Attestation\init目录 2、运行./Create_AIK 3、返回上级目录 4、运行./RAServer 机器2: 1、进入Remote Attestation目录 2、运行./RAClient 机器2的ip 机器1的ip (如,./RAClient 192.168.200.1 192.168.200.2)
About
可信计算实验
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published