前言: 2004年,IBM在13th USENIXSecurity Symposium上发表文章《Design and Implementation of a TCG-based Integrity MeasurementArchitecture》,第一次提出了IMA架构。该架构通过在内核中进行patch,实现当应用程序运行、动态链接库加载、内核模块加载时,将用到的代码和关键数据(如配置文件和结构化数据)做一次度量,将度量结果扩展到PCR10,并创建与维护一个度量列表ML。当挑战者发起挑战时,将度量列表与TPM签名的PCR度量值发送给挑战者,以此来判断平台是否可信。
可信计算的实现方案依赖于TPM。TPM拥有三个可信根:
可信计算方案的一个重要环节就是对系统平台进行完整性度量,从系统启动开始,对BIOS、grub、kernel以及操作系统启动后的应用程序等均需进行度量。TPM中使用PCR(Platform Configure Register)对度量结果进行记录。
PCR主要操作有两种:重置与扩展。在系统上电时对24个PCR(TPM1.2版本)进行清零,此后每次度量结果的存储均依靠扩展运算SHA1(PCR|| new measurement)实现,同时将度量的文件名称、路径以及度量结果存入度量日志/列表(Measurement Log/List)这样从理论上来说,PCR能够度量无限次,但会导致ML过大。
IMA的度量机制依靠TPM的PCR(重置与扩展)完成,每个PCR有160bit,IMA采用的是PCR10,其运算如下:
SHA1(..SHA1(SHA1(0|| m1)|| m2)..|| mi)
TPM的PCR寄存器只支持重置与扩展,因此恶意代码无法进行“任意”的篡改。而在执行恶意操作前,系统已经将恶意代码的度量值写入到PCR中,因此恶意代码是无法绕过度量机制的。
用于挑战者与平台之间传输数据,最主要的数据就是ML和TPM Aggregate,该协议通过TPM和密码学理论保证传输的数据是机密的、完整的。该协议号称能够阻止:1)重放攻击;2)篡改攻击;3)假面攻击。
目前该部分现在通常称为“远程证实”。
远程证实包括两种方式:1)隐私签证机构PCA;2)直接匿名认证DAA。比较让人不太理解的是,文章中并没有提到PCA或者DAA,也许是由于文章行文时间较早,还没有考虑相关问题。
C :create non-predictable 160bit nonce 2. C → AS : ChReq(nonce) 3a. AS : load protected AIKpriv into TPM 3b. AS : retrieve Quote = sig{P CR, nonce}AIKpriv 3c. AS : retrieve Measurement List ML 4. AS → C: ChRes(Quote, ML) 5a. C : determine trusted cert(AIKpub) 5b. C : validate sig{P CR, nonce}AIKpriv 5c. C : validate nonce and ML using P CR
在IMA能够对应用程序运行时加载的模块、动态链接库及程序本身进行度量,以及TPM能够实现可信启动(将平台上电到操作系统启动进行度量并写入度量日志)的条件下,挑战者由远程挑战平台是否可信的过程称为远程证实。TCG对远程证实提供两种方案,一种借助隐私签证机构PCA(Privacy CA),通过PCA对TPM身份验证、颁发证书AIK,并且对网内的TPM密钥管理分发、注销等等,然而,由于TCG组织假定PCA为完全可信的第三方,在PCA与平台串通后,挑战者无法知道挑战的平台是否已经被篡改,PCA与挑战者串通后,远程证实也失去存在的意义。另一种做法称为直接匿名认证(DAA),根据零知识证明技术进行TPM身份的认证。
挑战者通过完整性挑战协议获得了平台的TPM Aggregate和ML,可以实施很多策略来验证平台的信息是否可信。如通过与可信的度量值进行比较,就是一种最简单的验证策略。
更复杂的验证策略包括:多测量值评估等。
新的程序版本、未知程序、修改后的恶意程序都会产生未知指纹,位置指纹会被挑战者发现,从而判断该平台不可信。
在Redhat 9.0基础上基于LSM实现,内核版本为2.6.5。
采用度量缓存技术,缓存命中率为99.9%,因此总的开销非常小。
1)加入检查点来防止文件系统的卸载后篡改;
2)度量失败会直接使TPMAggregate无效化;
3)利用度量计数器来防止ToC-ToU攻击;
4)利用busy lock防止sysfs文件系统被卸载;
5)加入检查点来防止篡改dirtyflag。
原文地址:http://blog.csdn.net/hsluoyc/article/details/46045875