面试一个小公司,TPM相关概念
准备面试一个小公司,在面试邀请邮件中提出了这样一个要求(not required):
".. one item we will likely discuss with you is software called the TPM Software Stack (TSS) 2.0. ...... The purpose for this discussion is that we use software like this in some of our projects and we would like to try to get a feel for how you learn about new technologies and how quickly you can pick up new and complex concepts and ideas. It is not required, but if you are able to read up about TPM 2.0 and/or download some of the software and see if you can get it to work prior to the interview, that will better enable us to assess your work approach."
从来就没有听过这些概念,从头开始看吧!
1. Trusted Platform Module: A Trusted Platform Module is a specialized chip on an endpoint device that stores RSA encryption keys specific to the host system for hardware authentication.
2. RSA: apublic-key encryption technology developed by RSA Data Security, Inc. The acronym stands for Rivest, Shamir, and Adelman, the inventors of the technique.
3. The Trusted Computing Group (TCG) is a not-for-profit organization that was formed in 2003 to define, develop and promote security specifications for computers and networks. These standards help protect data, hardware and other resources from compromise, damage or theft by malicious entities without adversely impacting the rights of individuals or businesses who participate. The TCG is headquartered in Portland, Oregon.
4. the TCG Software Stack(TSS) specifies the software layer for application developers to use functions provided by a Trusted Platform Module.The TCG has standardized a software stack that acts above the TPM chip and includes the TPM device driver and TSS. TSS is a Trusted Computing API that provides applications access to the TPM trusted computing functions。
5. The Trusted Computing Group (TCG) is an industryconsortium of important IT-enterprises that has published a list of documents specifying building blocks to realize a trusted IT-infrastructure.
The main documents include the TPM specification defining a hardware module providing protected keys and cryptographic functions,
the Trusted Network Connect(TNC) specification defining prototols and formates on the network level,
and the TCG Software Stack(TSS) specification defining software layers to access the TPM.
6. TrouSerS - An open-source TCG Software Stack implementation
7. IBM's TPM2.0 TSS
8. RHEL: Red Hat Enterprise Linux
Fedora:
--------------------------------------------------------------
1. 安装ibmtpm
下载ibmtpm后使用命令 tar -zxvf filename.tar.gz 解压, 然后 cd ...tmp2\src, 然后 make
如果发现错误,有可能是没有安装Openssl, 安装Openssl 的命令为:sudo apt-get install openssl
如果此时make还无法成功,且错误类似如下,那么需要使用 sudo apt-get install -y libssl-dev
pi@pi3:~/ibmtpm/src $ make
/usr/bin/gcc -Wall -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Werror -Wsign-compare -c -ggdb -O0 -DTPM_POSIX -D_POSIX_ -I../utils -I. AlgorithmCap.c -o AlgorithmCap.o
In file included from LibSupport.h:90:0,
from Tpm.h:67,
from AlgorithmCap.c:67:
TpmToOsslHash.h:72:25: fatal error: openssl/evp.h: No such file or directory
#include <openssl/evp.h>
^
compilation terminated.
makefile:79: recipe for target 'AlgorithmCap.o' failed
make: *** [AlgorithmCap.o] Error 1
在成功make后,在src下会生成一个tpm_server 的文件
进入到此文件所在目录后,直接 ./tpm_server 就可以执行此文件。
至此,tpm_server 已经开启了。
2. 安装ibmtss
下载ibmtss后,解压,进入到utils目录后,make一下,成功后 ./reg.sh -a 就开始了回归测试