论文部分内容阅读
近年来,随着Internet的飞速发展,网络安全的要求也越来越高。尤其是现在流行的Web服务,对服务器的安全性要求也越来越高。传统的安全保障技术,诸如防火墙、杀毒软件等,虽然可以防范计算机病毒木马和网络攻击,但是,都不能从根本上杜绝这些攻击。而且,目前绝大多数的网络攻击都是由于网络终端遭到入侵,进而攻击服务器的,因此确保终端的安全性是整个网络系统的关键。可信计算的提出正是针对终端安全的,它采用软硬件结合的方式,在平台内部安装不可入侵的可信设备作为平台的可信根,在平台中建立一条信任链,将信任关系逐级扩展到整个计算机系统,最终保证远程平台的可信性。针对Web服务器的特性,本文在TCG规范的基础上,创建了一条基于java虚拟机的从平台硬件到软件的完整信任链,该完整信任链采用软件方式模拟了TPM芯片作为信任根,同时,由于传统的可信软件栈TSS都是C语言的,本文采用专门用于java环境的jTSS充当可信软件栈,保证了上层的java程序能够调用TPM,这样最终实现了java程序的可信执行环境。在传统的可信计算的认证过程中,终端用户或实体通过信任链的方式,保证了平台的可信性,避免了服务器向不安全的或安全受损的终端发送私密信息。而为了保证认证的持续性和动态性,本文采用了语义远程认证技术,其根据Linux环境中程序正常运行所产生的系统调用,通过程序的行为特征与模式库中的行为特征进行比较来保证平台的安全性。通过在jTSS环境中采用语义远程认证的方式,本文设计了针对Web服务器的认证模型,在Web服务器提供服务的整个过程中,服务器需要持续的对客户端安全性进行检验,一旦客户端的安全环境发生变化,达不到服务器的要求,服务器就停止提供Web服务。同时,针对Web服务器所提供网页种类多的特点,将对远程平台的认证过程,由传统的一次认证分为了两个部分,分别决定是否允许连接服务器和是否有权力享用服务。这种方式比传统一次认证方式具有更高的效率,这是因为当一个客户端访问服务器时,可能同时需要获得多个Web服务连接,如果所有的决策都在平台认证过程中进行,势必会使认证过程变的复杂,系统性能降低。同时,对于不同的Web服务,服务器很难在一次认证中对客户端做出不同的甚至相互矛盾的策略,比如既允许访问一个网页又拒绝访问这个网页。