【正文】
ER的公鑰和私鑰分別是 KPUBER和 KPRIER,用 KPUBER對 M進行加密得到KPUBER{M},就相當(dāng)于把 M和 ER綁定在一起,因為只有用 KPRIER才能對 KPUBER{M}進行解密,而只有 ER才擁有PPRIER。 ?如果實體 ER是一個 TPM,則以上綁定就是把信息 M綁定到特定的 TPM上 29 信息交換保護功能 (2) ? 簽名( Signing) ?計算被簽名的數(shù)據(jù)的哈希值,并用私鑰對該哈希值進行加密 ?設(shè)實體 ES的公鑰和私鑰分別為 KPUBES和 KPRIES, ES對信息 M進行簽名的方法是:首先計算 M的哈希值 H(M),然后用 KPRIES對該哈希值進行加密,得到的結(jié)果{H(M)}KPRIES就稱為 ES對 M的簽名 ?如果實體 ES是一個 TPM,則以上簽名就是特定的 TPM對信息 M的簽名。 30 信息交換保護功能 (3) ? 封裝( Sealing) ?選擇一組 PCR寄存器的值,用一個公鑰對該組 PCR寄存器的值和一個對稱密鑰進行加密,然后用該對稱密鑰對待封裝的信息進行加密 31 Procedure for Sealing/Unsealing 32 信息交換保護功能 (4) ? 封裝的簽名( SealedSigning) ?先把一組特定的 PCR寄存器的值組合到待簽名的信息之中,再進行簽名 33 密鑰和數(shù)據(jù)的存儲保護方法 34 Comments(Cont..) ? TPM中的 RTS負責(zé)保護存儲在 TPM中的信息的安全,特別是保護TPM生成的密鑰的安全。 ? TPM中的存儲空間非常有限,存放不下多少密鑰,大量的密鑰只能存放在 TPM外的存儲介質(zhì)中。 ? TPM中存放密鑰的存儲區(qū)稱為密鑰槽, TPM外的存儲介質(zhì)中存放密鑰的存儲區(qū)稱為密鑰槽的緩存,簡稱密鑰緩存。 35 Comments ? TPM外稱為 KCM的軟件負責(zé)密鑰緩存的管理,管理密鑰在 TPM與緩存之間的傳送 ? 存儲保護服務(wù)除了保護密鑰以外,也可以保護數(shù)據(jù)。如果實體 E無法識別數(shù)據(jù) D,則對于實體 E而言, D屬于不透明數(shù)據(jù)。 ? 受保護的信息(包括密鑰和數(shù)據(jù))從 TPM內(nèi)傳送到 TPM外之前,需要進行加密, SRK是用于進行這樣的加密的根密鑰。在為 TPM建立屬主的過程中,可以創(chuàng)建 SRK。如果為 TPM創(chuàng)建新的 SRK,那么由原來的 SRK加密的信息就難以再解密了。 36 密鑰屬性 ? 可遷移 ?在一個 TPM中生成的密鑰可以傳送到另一個 TPM中使用。 ? 不可遷移 ?在一個 TPM中生成的密鑰只限在該 TPM中使用。 37 密鑰類型 (1) ? Signing keys ? Signing keys are asymmetric general purpose keys used to sign application data and messages. ? Signing keys can be migratable or nonmigratable. ? Storage keys ? Storage keys are asymmetric general purpose keys used to encrypt data or other keys. ? Storage keys are used for wrapping keys and data managed externally 38 密鑰類型 (2) ? Identity Keys ? Identity Keys (. AIK keys) are nonmigratable signing keys that are exclusively used to sign data originated by the TPM ? Endorsement Key ? Endorsement Key (EK) is a nonmigratable decryption key for the platform. ? It is used to decrypt owner authorization data at the time a platform owner is established and to decrypt messages associated with AIK creation. 39 密鑰類型 (3) ? Bind keys ? Bind keys may be used to encrypt small amounts of data (such as a symmetric key) on one platform and decrypt it on another ? Legacy Keys ? Legacy Keys are keys created outside the TPM. They are imported to the TPM after which may be used for signing and encryption operations. They are by definition migratable. ? Authentication Keys ? Authentication Keys are symmetric keys used to protect transport sessions involving the TPM. 40 Loading TPM Keys(1) 41 Loading TPM Keys(2) 42 Loading TPM Keys(3) 43 Loading TPM Keys(4) 44 Agenda ? 可信平臺的基本特性 ? 可信計算平臺的基本體系 ? 可信平臺模塊( TPM)部件 ? 軟件接口和服務(wù) ? TCG編程接口 ? Trusted Boot 45 TPM組件體系結(jié)構(gòu) 46 Comments ? 輸入 /輸出組件:對通信總線上的信息流進行管理 ? 非易失性存儲器:存放真實身份密鑰( EK)、存儲根密鑰( SRK)、屬主的授權(quán)數(shù)據(jù)和永久的標記。 ? PCR寄存器:供操作系統(tǒng)和應(yīng)用軟件使用 ? 工作身份密鑰( AIK):永久型密鑰,存放在 TPM之外 ? 程序代碼:對平臺設(shè)備進行完整性度量的固件,是度量的核心信任根( CRTM) ? 隨機數(shù)生成器:生成密鑰、創(chuàng)建即時隨機量 ? SHA1消息摘要引擎:計算簽名、創(chuàng)建密鑰塊 ? RSA密鑰生成引擎:創(chuàng)建簽名密鑰和存儲密鑰 ? RSA引擎:使用簽名密鑰進行簽名、使用存儲密鑰進行加密和解密、使用 EK進行解密 ? 功能開關(guān)組件:禁用或啟用 TPM模塊 ? 執(zhí)行引擎:執(zhí)行 TPM初始化操作和完整性度量操作 47 PCR—Platform Configuration Register ? 8個 PCR, 16個; ? PCR放置在 Shield Location; ? PCR的使用方式由平臺的體系結(jié)構(gòu) (PC/服務(wù)器 /PDA等 )來確定; ? PCR為 160bits值; ? PCR主要用來存儲在信任鏈建立過程中各模塊完整性度量數(shù)值; ? PCR存儲數(shù)值方式: PCRi New = Hash(PCRi Old value || value to add) ? PCR must be in the RTS(Root of Trusted Storage) 48 PCR Usage 49 Endorsement Key (EK) ? 一個 RSA(2048bits)公私鑰對 (PUBEK , PRIVEK ); ? EK是 TCM的唯一性密碼學(xué)身份標識; ? EK創(chuàng)建: ? 內(nèi)部創(chuàng)建使用 TCM_CreateEndosreKey命令;