弄了好久,終於對Tpm的seal 和 Unseal有了一點感覺:
一、 tpm_sealdata
tpm_seal有輸入和輸出,輸入的文件是要保護的信息,輸出的文件包括TSS key 、ENC key 和加密後的數據,且輸出在一個文件中,-p 是banding的PCR值。
例如 :
dd if=/dev/urandom of=/home/temp_plain_key bs=2 count=32
tpm_sealdata -i /home/temp_plain_key -z -p 4 -p 8 -p 9 -p 12 -p14 -o /home/sealed_key
上述指令同樣的條件下,每次輸出的結果不同,因爲密鑰不相同,具體可以查看 sealed_key
二、 tpm_unsealdata
可以利用產生的sealed_key作爲unseal的輸入進行對操作的度量。
例如:
tpm_unsealdata -z -i /home/sealed_key | cryptsetup luksOpen
/dev/loop0 Secret
三、總之都這兩個過程我只是有一點感悟,起碼可以用了。 下面兩個網址是操作的精華,有興趣的可以參考:
http://hi.baidu.com/jinhua19840713/blog/item/e8f96b5b868f12c99d82043d.html