Skip to content

XinyuShe/Trusted-Computing-Practise

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

No packages published