关于TPM 的Seal 和 Unseal

    弄了好久,终于对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://translate.google.com.hk/translate?hl=zh-CN&sl=en&tl=zh-CN&u=http%3A%2F%2Fwww.grounation.org%2Findex.php%3Fpost%2F2008%2F07%2F04%2F8-how-to-use-a-tpm-with-linux

   http://hi.baidu.com/jinhua19840713/blog/item/e8f96b5b868f12c99d82043d.html

 

 

 

 

你可能感兴趣的:(c,加密)