OpenTC PET DomoCD

 OpenTC是欧盟委员会赞助的一个可信计算项目,致力于利用可信计算技术和虚拟化技术构建安全的操作系统。目前在其网站上发布了一个证明可信计算用途的DemoCD。
这个概念性的演示场景叫做 PET(Private Electronic Transaction),主要用来证明OpenTC所使用的可信计算和虚拟化技术能够保护网上银行交易的安全性。演示场景包含了四个步骤:
1.可信计算平台的安装
这一步中,用户执行take ownership操作,并申请AIK证书。这里为了简化,没有通过向可信计算的基础设施PCA做申请,直接使用硬编码的密码在客户端产生,这一过程利用了IAIK/TU 能够模拟产生可信计算所使用证书的Tccert库。
2.认证的启动过程 (authenticated boot)
也就是信任链的建立过程,启动的顺序是S-CRTM->MBR->OS Loader->Hypervisor->dom0->domT,任何一个组件在把控制权移交前都要对下一个组件进行HASH,然后将值存入TPM的PCR寄存器中。这里OSLoader使用了一个修改的Grub版本——Trusted Grub,能够对要启动的Hypervisor(L4/Fiasko or Xen)进行HASH,并存入PCR中。
当Trusted Grub运行时,用户可以选择使用Normal模式,或是Expert模式。在Normal模式下,就是正常的网上银行的用户操作,对用户屏蔽了这些安全保护机制的细节。用户只能使用日常操作的不可信操作系统DomU和专门用于网上银行的操作系统DomT,而在Expert模式下可以访问管理VM Dom0。
使用L4时,OpenTC DemoCD还提供Opent Secure OS Loader——OSLO,作为Grub的一个模块,实现D-CRTM,能够利用AMD CPU的SKINIT指令,重新初始化整个平台的信任状态。
3.用户注册预期的HASH
用户把自己计算机的完整性状态(PCR)告诉给网上银行,银行操作员检查确认后,Enable。为了简便(不再需要另外的有TPM的计算机),网上银行服务器运行在一个虚拟机DomSbox中,使用了软件TPM_TPM Emulator.
4.可信的通信过程
用户只能使用DomT中的Firefox访问网上银行的服务器,这里的访问请求通过了Dom0中的Proxy再访问DomSbox,通过Hypervisor中的安全策略,这个Proxy只允许DomT使用。然后Dom0与网上银行DomS打开SSL/TLS通道进行通信,双方也要交互AIK对PCR的签名,并相互认证。只有AIK证书验证通过,并且确认对方具有预期的完整性度量PCR,用户才能够成功看到登录页面。
OpenTC还提供了一个Rogue DomT模式,整个模式下,用户注册的预期完整性状态,将与访问网上银行时的完整性状态不一致(说明感染恶意代码),可信的通信过程就无法成功完成。
这个DemoCD做得还是很精致的,界面精美,说明清晰,基本覆盖了目前OpenTC的所有研究成果,能够让人直观地感受到可信计算技术的作用,说明可信计算也并不一定只是DRM。但同时也感觉到可信计算技术的实用化,还有很长的一段路要走,即使在用户模式下,用户的操作还是比较复杂。而且除了TPM,还缺少配套的基础设施,例如PCA。还有预期的完整性度量值的管理,银行操作员根据什么来判断用户注册的完整性度量值是可信的,用户又怎么判断网上银行服务器的完整性度量值可信,并维护这些可信的完整性度量值。这些在DemoCD中,我所看到的都是对过程的简化,如本地模拟产生AIK、Dom0预先持有DomS的预期完整性度量、银行操作员简单地Enable。还有信任链的建立过程中,我的机器上板载的BIOS也都还没有实现CRTM功能。还有一大缺陷据说是可信通信过程还没有考虑对中间人攻击和重放完整性度量质询的防御。

你可能感兴趣的:(虚拟机,服务器,firefox,平台,虚拟化,xen)