TPM晶元LINUX下如何測試

時間 2021-09-10 14:32:19

1樓:匿名使用者

應用tpm作linux可信起動的初步實踐

首先要有一台帶有tpm 1.2晶元,裝有linux系統的計算機。

使用下面這條命令可以檢視系統核心tpm驅動情況:

$ ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm

總計 100

drwxr-xr-x 2 root root 4096 02-03 21:47 .

drwxr-xr-x 7 root root 4096 02-03 21:47 ..

-rwxr--r-- 1 root root 9812 01-21 15:27 tpm_atmel.ko

-rwxr--r-- 1 root root 11128 01-21 15:27 tpm_bios.ko

-rwxr--r-- 1 root root 15860 01-21 15:27 tpm_infineon.ko

-rwxr--r-- 1 root root 19184 01-21 15:27 tpm.ko

-rwxr--r-- 1 root root 10796 01-21 15:27 tpm_nsc.ko

-rwxr--r-- 1 root root 16516 01-21 15:27 tpm_tis.ko

tpm_tis模組可以完全使用tpm1.2。需要這個模組,沒的話可能需要重新編譯新的核心。

接下來可以這幾條命令載入tpm驅動:

$ sudo modprobe tpm_bios

$ sudo modprobe tpm

$ sudo modprobe tpm_tis force=1 interrupts=0

$ dmesg

...[***.yyy] tpm_tis tpm_tis: 1.2 tpm (device-id 0x4a10, rev-id 78)

如果顯示有類似以上資訊,說明設定成功。

需要安裝trouserst和tpm-tools來管理tpm。

$ sudo /etc/init.d/tcsd start

用上面這條命令來起動這個管理工具

然後檢查下tpm是不是可用了。

$ sudo tpm_version

tpm version: 01010000

manufacturer info: 53544d20

好了。現在讓我們來初始化tpm晶元

$ sudo tpm_takeownership

enter owner password: ******

confirm password: ******

enter srk password: yyyyyyyy

confirm password: yyyyyyyy

記住! 這條命令只能執行一次!之後不能再常識!

如果出現下面這個錯誤:

tspi_tpm_getpubendorsementkey failed: 0x00000023 - layer=tpm, code=0023 (35), no ek

則說明endorsement key不存在,需要下面這條命令建立。

$ sudo tpm_createek

ok! 之後我們就可以得到public endorsement key

$sudo tpm_getpubek

期間需要輸入owner password。

接下來需要安裝trustedgrub,然後對其中一些檔案做修改。

還有很重要的一處!

在核心源**檔案中的 drivers/char/tpm/tpm_tis.c

view plaincopy to clipboardprint?

[...]

static struct pnp_device_id tpm_pnp_tbl __devinitdata = , /* tpm */

, /* atmel */

, /* infineon */

, /* broadcom */

, /* national */

/* add new here */

, /* user specified */

/* terminator */

};[...]

/* user specified */這裡我們可以加入我們自己的tpmuid(如果裡面已經有了的話就不用了),這可以讓核心支援我們需要的tpm型號。

關於如何得到tpm的具體資訊,可以使用 iasl 這個軟體來獲得,具體的不在這裡說明了。

以上是可信起動的bios──>bootloader部分的簡單嘗試。

其實這個trustedgrub也有不安全的bug,比如沒有做從cd引導時的hash等等,不過是開源,如果需要或想改進,可以自己動手,也不是什麼難事。

2樓:匿名使用者

使用下面這條命令可以檢視系統核心tpm驅動情況:

$ ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm

總計 100

drwxr-xr-x 2 root root 4096 02-03 21:47 .

drwxr-xr-x 7 root root 4096 02-03 21:47 ..

-rwxr--r-- 1 root root 9812 01-21 15:27 tpm_atmel.ko

-rwxr--r-- 1 root root 11128 01-21 15:27 tpm_bios.ko

-rwxr--r-- 1 root root 15860 01-21 15:27 tpm_infineon.ko

-rwxr--r-- 1 root root 19184 01-21 15:27 tpm.ko

-rwxr--r-- 1 root root 10796 01-21 15:27 tpm_nsc.ko

-rwxr--r-- 1 root root 16516 01-21 15:27 tpm_tis.ko

tpm_tis模組可以完全使用tpm1.2。需要這個模組,沒的話可能需要重新編譯新的核心。

接下來可以這幾條命令載入tpm驅動:

$ sudo modprobe tpm_bios

$ sudo modprobe tpm

$ sudo modprobe tpm_tis force=1 interrupts=0

$ dmesg

[***.yyy] tpm_tis tpm_tis: 1.2 tpm (device-id 0x4a10, rev-id 78)

如果顯示有類似以上資訊,說明設定成功。

需要安裝trouserst和tpm-tools來管理tpm。

$ sudo /etc/init.d/tcsd start

用上面這條命令來起動這個管理工具

然後檢查下tpm是不是可用了。

$ sudo tpm_version

tpm version: 01010000

manufacturer info: 53544d20

linux下如何安裝vmware tool

1 安裝工具。讓虛擬機器執行於視窗狀態,按ctrl alt讓滑鼠釋放出來。在vmware的選單欄上選擇 虛擬機器 安裝虛擬機器工具 vm install vmware tools.然後切換到客戶作業系統,即linux。2 掛載光碟。mount dev cdrom mnt cdrom 3 執行命令。進...

linux下如何安裝jdk,linux下如何安裝JDK?

育知同創教育 首先需要解壓縮各種壓縮包 gz gunzip gz z uncompress z bz2 bunzip2 bz2 zip unzip zip 然後cd進入資料夾ls一下,看看是哪種型別安裝包,下面只是列出幾種 1.rpm型別的命令 rpm ivh rpm2.deb型別的命令 dpkg ...

linu下如何啟動,linux下如何啟動VMware

聖馬家溝 到https www.vmware.com找尋最新的安裝包,比如 vmware workstation 4.0.5 6030.tar.gz,假設放在 tmp 下.然後使用下面的命令解壓後安裝.1 tar zxvf vmware workstation 4.0.5 6030.tar.gz 2...