APP下载

可信Web服务器的设计与实现

2013-03-05张欣娄健

电脑知识与技术 2012年36期

张欣 娄健

摘要:针对目前Web应用中存在的大量安全威胁,该文给出了一种使用可信计算技术保障Web服务器内容安全、可信的模型。该模型使用TPM(TrustedPlatformModule)作为系统的可信根,通过TPM内部的散列和加/解密部件实现对Web服务器内容完整性、机密性、隐私性的保护,从而保证Web应用的安全、可信。

关键词:可信计算;TCG;TPM;Web服务器

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)36-8634-04

随着互联网的快速发展,Web服务以其特有的高效性、易用性、交互性和及时性引发了广泛关注,各行各业均出现了大量的Web应用,如邮件处理、数据存储、在线办公等。特别是近年来云计算概念的出现与发展,更使得Web应用无所不在,成为人们生活中不可缺少的一部分。伴随着Web服务作为基础服务不断渗透到应用的各个角落,Web应用和Web服务器的安全却不容乐观,网络攻击也大量转向Web应用层面。根据Gartner的最新调查,信息安全攻击有75%都是发生在Web应用而非网络层面上。同时,数据也显示,三分之二的Web站点都相当脆弱,易受攻击。黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对Web应用的攻击上。然而现实确是,绝大多数企业将大量的投资花费在网络和服务器的安全上,没有从真正意义上保证Web应用本身的安全,给黑客以可乘之机。2011年底,国内互联网业界爆发的CSDN等众多网站“泄密门”系列事件,其实只是掀开WEB应用威胁的冰山之一角。

当今世界,因特网已经成为一个非常重要的基础平台,很多企业都将应用架设在Web平台上,为客户提供更为方便、快捷的服务支持。Web应用防护和数据安全已经成为企事业机构信息安全综合体系中的核心与重点。传统防火墙不能有效阻止应用层的网络攻击,这就需要一个能提供面向应用层的网络防护系统来保证Web应用及Web服务器的安全。

该文基于可信计算组织(TrustedComputingGroup,TCG)提出的可信平台模块(TrustedPlatformMoude,TPM),给出了一个可信Web服务器的模型,该模型使用可信计算技术来保障Web应用和Web服务器自身的安全。

1相关工作

目前,大部分Web应用防护及Web服务器数据安全依然依赖于传统的网络安全手段,如防火墙、漏洞扫描工具、加密算法等。传统的安全措施并不能保证Web应用的安全,如:防火墙可以阻止对重要端口的访问,但是80和443端口始终要开放,无法判断这两个端口中通讯数据是善意的访问还是恶意的攻击;漏洞扫描工具仅仅用来分析网络层面的漏洞,不了解应用本身,所以不能彻底提高Web应用安全性;加密算法可以加密数据,但是它仅仅保护了在传输过程中数据的安全性,并没有保护Web应用本身;只要访问可以顺利通过企业的防火墙,Web应用就毫无保留的呈现在用户面前。

但传统的网络安全手段重在保障网络传输的安全和防止非法访问,并不能根据Web应用本身的特点,建立完整的安全保障体系。只有加强Web应用自身的安全,才是真正的Web应用安全解决之道。

为解决上述问题,Web应用防火墙(WebApplicationFirewall,WAF)在这种形势下应运而生,成为防护Web应用层网络攻击有力的武器。WAF也称为网站应用级入侵防御系统,按照国际上公认的定义,WAF是指通过执行一系列针对HTTP/HTTPS的安全策略专门为Web应用提供保护的一款产品。作为一种专业的Web应用安全防护工具。WAF能应对Web应用中的各类安全威胁,如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造攻击(CSRF)、cookie篡改以及应用层DDoS等,并且能有效解决网页篡改、网页挂马、敏感信息泄露等安全问题,充分保障Web应用的高可用性和可靠性。Web应用防火墙与传统防火墙不同,它工作在应用层,起着监视和隔绝应用层通信流的作用,它可以解决传统防火墙设备束手无策的Web应用安全问题。

可信计算技术作为一种新型信息安全技术,已经成为信息安全领域的研究热点。可信计算组织(TrustedComputingGroup,TCG)提出了可信计算机平台的概念,并把这一概念具体化到服务器、微机、PDA和手机,而且具体给出了可信计算平台的体系结构和技术路线。可信计算的基本思想是:首先构建一个信任根,再建立一条信任链,从信任根开始到硬件平台,到操作系统,再到应用,一级认证一级,一级信任一级,把这种信任扩展到整个计算机系统,从而确保整个计算机系统的可信。一个可信计算机系统由可信根、可信硬件平台、可信操作系统和可信应用系统组成。

该文给出了一个基于可信计算机系统的Web应用防护和Web服务器数据安全的模型,该模型重复利用可信计算技术的特点,不单可以实现WAF的功能,而且还能提供诸如关键数据恢复、隐私数据平台绑定等功能,进一步保障了Web应用及Web服务器的安全。

2可信Web服务器设计

TPM中主要部件介绍如下:

1)非易失存储器:主要用于密钥的存储,如存储根密钥SRK、证实密钥EK及为用户产生的各种其他密钥。这部分存储器与计算机系统存储物理隔离,密钥不会以明文方式离开TPM,从而保证密钥不被泄露。

2)平台配置寄存器(PCR):用于可信平台的配置度量,指示相关系统BIOS、操作系统及应用程序当前运行的完整性。每个TPM至少有16个PCR,TCG给出了部分PCR的功能和使用的协议,其余的可被用户使用。

3)SHA-1引擎:实现安全的哈希算法,用于完整性检查、数字签名等目的。

4)RSA引擎:支持TPM中不同类型RSA密钥操作,如加/解密、数字签名等。

5)密钥生成:提供标准的RSA算法基础,用于创建存储密钥和签名密钥,是最常用的组件之一。

Web可信引擎(WTE)是实现可信Web服务器的核心部件。可信引擎基于TPM功能为Web应用提供网页防篡改、关键数据镜像、隐私数据保护等可信服务。可信引擎的实现基于Web服务器扩展模块,现有的Web服务器大多可通过扩展模块(如Apache支持的mod模块)进行功能扩展,可信引擎以Web服务器扩展模块形式存在,通过TSS访问TPM芯片,实现对Web应用的可信支持。

可信Web服务器从以下两个方面保证Web服务器及Web应用的安全。

1)文档防篡改

该功能保证Web应用的HTML、Javascript、CSS等文档的完整性,不被攻击者非法篡改。可信引擎WTE利用TPM中的密钥生成、加/解算法等部件对相应文档做散列、签名处理,并将处理结果存储。每次用户请求页面时,可信引擎会将现有页面的散列、签名值与存储的散列、值进行比较,如相同则页面未被篡改,不同则对用户发出警报。

需要注意的是上述过程在TPM内部实现,而不是在系统内存中实现,私钥SK始终没有离开TPM。此外,由于TPM的计算能力有限,为保证系统效率,并没有调用TPM的SHA-1部件实现散列计算,而是由系统CPU完成的。

当被保护文档发生授权更改时,需对其重新进行散列、签名处理,过程与生成签名类似,不再赘述。

尽管其他安全系统(如Web应用防火墙WAF)也可实现类似功能,但利用TPM可更好的保证Web应用可信,因为:

签名计算和验证过程在隔离环境(TPM芯片)中进行,而不是在系统内存中,这样可保证计算过程可信,不被恶意程序干扰;

②用于签名的私钥存储在TPM内部的非易失存储器里,不以明文方式出现在TPM外部,非授权用户无法获得该私钥,杜绝恶意程序的非法签名操作。

2)隐私数据保护

3系统实现

系统实现的整体构建在Debian6.0操作系统和ApacheHTTPServer服务器平台,可信引擎基于Apache模块开发技术实现,以Apache标准模块形式存在。

出于研究和实验目的考虑,TPM部分没有采用实际的TPM芯片产品,而是使用的TPMEmulator软件TPM模拟器。TPMEmulator可提供与实际TPM芯片相同的操作方式和接口,支持包括Linux、MacOSX和Windows等多种操作系统,并且与绝大部分相关的软件包和接口兼容。

可信计算平台软件栈TSS(TCGSoftwareStack)采用的是TrouSerS(Theopen-sourceTCGSoftwareStack)。TrouSerS是由IBM开发的TSS协议栈软件,符合TCG制定的TSS和TPM协议规范。

系统的实现具有通用性,其他Web服务器平台,如IIS,也可使用类似的方式实现可信引擎的功能。

4结论

该文引入可信计算技术来保证Web服务器及Web应用的安全,给出了一个基于TPM的可信Web服务器系统模型并进行了模拟实现。系统采用TPM作为信任根,使得Web服务器具有了可信的硬件平台,实现了关键数据和运算过程的物理隔离,充分保证了Web服务器和Web应用的安全。下一步工作是研究可信Web服务器安全功能的进一步扩充及可信计算技术在云计算中的应用。

参考文献:

[1]沈昌祥,张焕国,王怀民,等.可信计算的研究与发展[J].中国科学:信息科学,2010,40(2):139-166.

[2]TCGArchitectureOverview,Version1.4[EB/OL].http://www.trustedcomputinggroup.org/resources/tcg_architecture_overview_version_14.

[3]TrustedComputingGroup.TPMSpecification(Version1.2)[EB/OL].http://www.trustedcomputinggroup.org/specs/TPM/.

[4]Software-basedTPMEmulator[EB/OL].http://tpm-emulator.berlios.de/.

[5]ApacheHTTPServer[EB/OL].http://httpd.apache.org/.

[6]TrouSerS-Theopen-sourceTCGSoftwareStack[EB/OL].http://trousers.sourceforge.net/.