TPM2.0,是一個安全芯片標準,它大致上規(guī)定了這么一回事:
首先要有一個芯片,芯片里面要能夠做加密,并且儲存密鑰;對外采用TPM2.0里面規(guī)定好的方式,與操作系統(tǒng)溝通聯(lián)絡。
每個可信平臺都有一個EK (Endorsement Key)密鑰對,是在生產安全芯片的時候產生的。EK是平臺的永久身份表示,利用它來得到AIK。TPM中的背書密鑰EK是一個模長為2048比特的RSA公私鑰對,私鑰保存在TPM內部,永遠不會暴露在TPM之外。對一個TPM或者一個安全平臺來說,EK是唯一的,EK的證書用來保證平臺的可信性。通常,EK在生產過程中產生,并由生產廠商把EK證書存儲在TPM中。
EK是TPM中最核心的密鑰,處于安全和隱私保護方面的考慮,并不能直接使用EK來進行數據的加密和簽名。EK的主要功能是生成身份證明密鑰AIK(Attestation Identity Key)和建立TPM owner,由TPM的owner來生成存儲根密鑰SRK(Storagr Root Key),使用SRK來加密、存儲其他的密鑰。SRK處于密鑰保護樹形結構的頂層,是TPM直接保護的唯一密鑰。
AIK用來在不泄露平臺身份的情況下向另一方證明平臺的狀態(tài)和配置,AIK雖然由EK生成,但是不包含任何關于平臺或者EK的隱私信息,使用 AIK來對其內部的信息數據進行簽名,這些信息可以包括 PCR、其它的密鑰以及 TPM的狀態(tài)信息,表明這些信息是經過 TPM處理的。在 TPM完整性報告和測量中 AIK發(fā)揮著巨大的作用。
首先,TPM owner生成一對AIK公私密鑰對 (長度至少是2048bits),使用AIK的私鑰部分對 AIK的公鑰部分、請求產生AIK證書的TPM的一些標識信息(包括EK證書和平臺證書 )進行簽名,然后將這個簽名值和AIK的公鑰等信息一起發(fā)送給一個 Private CA,等待CA接受請求后生成AIK證書;而AIK的私鑰部分則通過SRK加密保存在TPM內部。Private CA接收到申請請求信息之后,首先檢驗簽名信息是否正確,若正確則根據AIK公鑰部分生成一個AIK證書。隨后CA產生一個session key(對稱密鑰 ),并使用這個密鑰對剛生成的AIK證書進行加密,再將session key加密后連同被加密的證書,以及一些加密算法參數等信息由CA發(fā)送給TPM。TPM接收到這些內容后,使用自己的 PRIVEK(EK的私鑰部分)解密加密證書的session key,然后再使用該session key解密證書。到此, 一個完整的 AIK的產生過程就完成了,這個AIK就可以開始使用了。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請
點擊舉報。