【正文】
ER的公鑰和私鑰分別是 KPUBER和 KPRIER,用 KPUBER對(duì) M進(jìn)行加密得到KPUBER{M},就相當(dāng)于把 M和 ER綁定在一起,因?yàn)橹挥杏?KPRIER才能對(duì) KPUBER{M}進(jìn)行解密,而只有 ER才擁有PPRIER。 ?如果實(shí)體 ER是一個(gè) TPM,則以上綁定就是把信息 M綁定到特定的 TPM上 29 信息交換保護(hù)功能 (2) ? 簽名( Signing) ?計(jì)算被簽名的數(shù)據(jù)的哈希值,并用私鑰對(duì)該哈希值進(jìn)行加密 ?設(shè)實(shí)體 ES的公鑰和私鑰分別為 KPUBES和 KPRIES, ES對(duì)信息 M進(jìn)行簽名的方法是:首先計(jì)算 M的哈希值 H(M),然后用 KPRIES對(duì)該哈希值進(jìn)行加密,得到的結(jié)果{H(M)}KPRIES就稱(chēng)為 ES對(duì) M的簽名 ?如果實(shí)體 ES是一個(gè) TPM,則以上簽名就是特定的 TPM對(duì)信息 M的簽名。 30 信息交換保護(hù)功能 (3) ? 封裝( Sealing) ?選擇一組 PCR寄存器的值,用一個(gè)公鑰對(duì)該組 PCR寄存器的值和一個(gè)對(duì)稱(chēng)密鑰進(jìn)行加密,然后用該對(duì)稱(chēng)密鑰對(duì)待封裝的信息進(jìn)行加密 31 Procedure for Sealing/Unsealing 32 信息交換保護(hù)功能 (4) ? 封裝的簽名( SealedSigning) ?先把一組特定的 PCR寄存器的值組合到待簽名的信息之中,再進(jìn)行簽名 33 密鑰和數(shù)據(jù)的存儲(chǔ)保護(hù)方法 34 Comments(Cont..) ? TPM中的 RTS負(fù)責(zé)保護(hù)存儲(chǔ)在 TPM中的信息的安全,特別是保護(hù)TPM生成的密鑰的安全。 ? TPM中的存儲(chǔ)空間非常有限,存放不下多少密鑰,大量的密鑰只能存放在 TPM外的存儲(chǔ)介質(zhì)中。 ? TPM中存放密鑰的存儲(chǔ)區(qū)稱(chēng)為密鑰槽, TPM外的存儲(chǔ)介質(zhì)中存放密鑰的存儲(chǔ)區(qū)稱(chēng)為密鑰槽的緩存,簡(jiǎn)稱(chēng)密鑰緩存。 35 Comments ? TPM外稱(chēng)為 KCM的軟件負(fù)責(zé)密鑰緩存的管理,管理密鑰在 TPM與緩存之間的傳送 ? 存儲(chǔ)保護(hù)服務(wù)除了保護(hù)密鑰以外,也可以保護(hù)數(shù)據(jù)。如果實(shí)體 E無(wú)法識(shí)別數(shù)據(jù) D,則對(duì)于實(shí)體 E而言, D屬于不透明數(shù)據(jù)。 ? 受保護(hù)的信息(包括密鑰和數(shù)據(jù))從 TPM內(nèi)傳送到 TPM外之前,需要進(jìn)行加密, SRK是用于進(jìn)行這樣的加密的根密鑰。在為 TPM建立屬主的過(guò)程中,可以創(chuàng)建 SRK。如果為 TPM創(chuàng)建新的 SRK,那么由原來(lái)的 SRK加密的信息就難以再解密了。 36 密鑰屬性 ? 可遷移 ?在一個(gè) TPM中生成的密鑰可以傳送到另一個(gè) TPM中使用。 ? 不可遷移 ?在一個(gè) TPM中生成的密鑰只限在該 TPM中使用。 37 密鑰類(lèi)型 (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 密鑰類(lèi)型 (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 密鑰類(lèi)型 (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 ? 可信平臺(tái)的基本特性 ? 可信計(jì)算平臺(tái)的基本體系 ? 可信平臺(tái)模塊( TPM)部件 ? 軟件接口和服務(wù) ? TCG編程接口 ? Trusted Boot 45 TPM組件體系結(jié)構(gòu) 46 Comments ? 輸入 /輸出組件:對(duì)通信總線(xiàn)上的信息流進(jìn)行管理 ? 非易失性存儲(chǔ)器:存放真實(shí)身份密鑰( EK)、存儲(chǔ)根密鑰( SRK)、屬主的授權(quán)數(shù)據(jù)和永久的標(biāo)記。 ? PCR寄存器:供操作系統(tǒng)和應(yīng)用軟件使用 ? 工作身份密鑰( AIK):永久型密鑰,存放在 TPM之外 ? 程序代碼:對(duì)平臺(tái)設(shè)備進(jìn)行完整性度量的固件,是度量的核心信任根( CRTM) ? 隨機(jī)數(shù)生成器:生成密鑰、創(chuàng)建即時(shí)隨機(jī)量 ? SHA1消息摘要引擎:計(jì)算簽名、創(chuàng)建密鑰塊 ? RSA密鑰生成引擎:創(chuàng)建簽名密鑰和存儲(chǔ)密鑰 ? RSA引擎:使用簽名密鑰進(jìn)行簽名、使用存儲(chǔ)密鑰進(jìn)行加密和解密、使用 EK進(jìn)行解密 ? 功能開(kāi)關(guān)組件:禁用或啟用 TPM模塊 ? 執(zhí)行引擎:執(zhí)行 TPM初始化操作和完整性度量操作 47 PCR—Platform Configuration Register ? 8個(gè) PCR, 16個(gè); ? PCR放置在 Shield Location; ? PCR的使用方式由平臺(tái)的體系結(jié)構(gòu) (PC/服務(wù)器 /PDA等 )來(lái)確定; ? PCR為 160bits值; ? PCR主要用來(lái)存儲(chǔ)在信任鏈建立過(guò)程中各模塊完整性度量數(shù)值; ? PCR存儲(chǔ)數(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) ? 一個(gè) RSA(2048bits)公私鑰對(duì) (PUBEK , PRIVEK ); ? EK是 TCM的唯一性密碼學(xué)身份標(biāo)識(shí); ? EK創(chuàng)建: ? 內(nèi)部創(chuàng)建使用 TCM_CreateEndosreKey命令;