前言
可信计算在网络安全领域的重要性已得到公认。一个安全的信息系统,首先需要是一个可信的信息系统。但是,从20世纪80年代至今,可信计算的工程落地问题一直是一个难题。
从最早的基于主机可靠性和容错计算的可信1.0,到以PC单机为主、提出可信根和可信链的可信2.0,可信计算的相关技术有了很大的发展,得到了Intel、微软等多家大公司的支持,但流行的可信计算应用仅有微软与 Windows 绑定的bitlocker、IBM在Linux环境下实现的IMA等寥寥几种。这是因为可信计算是一个需要从体系架构层面入手的概念,可信1.0仅从原始理念出发,难以让可信落地;可信2.0要求兼容现有系统,提供被动调用的可信组件,不从结构上入手,难以从根本上解决信息系统的可信问题。
我国网络安全研究者提出“可信3.0”的概念,从体系架构入手进行创新,通过主动免疫原理,构建可信免疫架构,以双系统体系架构的模式实现可信计算。这一创新使可信计算产品可以独立实现、自成系统、对应用透明,从理论架构上解决了可信计算技术落地的问题。沿着这一方向,可信计算的发展将迎来一场革命,这场革命将直接体现在大量可信计算产品的工程开发和网络安全可信解决方案的广泛应用上。
可信3.0作为一个新的理念,目前还没有得到广泛的宣传,相关的教材和资料也非常缺乏,亟需一本专著或教材来阐述其科学原理并指导工程实践。笔者在北京工业大学可信计算重点实验室的支持下,长期从事基于主动免疫原理的可信计算研究,因此不揣冒昧,自告奋勇来承担这项工作。
可信计算相关领域广阔,知识点众多,用一本普及型教材或专著来概括并非易事。本书不追求对相关领域的全面介绍,而是以可信计算关键技术的工程实现为主线。在概述可信计算的基本知识后,围绕一个可信软件基原型系统,介绍可信密码服务、节点可信计算环境和可信网络连接的具体实现方法,通过具体的工程问题将可信计算各个知识点串起来,让读者了解可信计算体系及其与实际信息系统的交互方式,掌握基本的可信计算工程方法并应用到实际中。
本书以可信计算的工程应用方法为主,理论方面和标准方面的内容不是重点。因此,本书将在简要介绍可信计算基本概念后,迅速进入工程开发相关的内容,介绍可信计算在密码服务、节点安全机制、网络连接中的应用方法和示例解决方案。通过这些工程中的具体实例让读者了解安全防御保障体系中的可信计算,知道可信计算能做什么、如何去做。最后,本书阐述可信计算在云计算环境、物联网、大数据等场景下的应用模式,为这些现代信息系统下的信息安全开发提供参考。
本书第1章通过可信计算发展历史和可信3.0应用模式的介绍让读者对可信3.0有个概要性了解。第2章对可信计算中的一些基本概念进行解释说明。第3~6章为工程实践部分,该部分依托笔者所开发的一个可信软件基框架原型进行解释说明。第3章介绍这一框架原型的设计思想及系统配置方法,第4章介绍可信密码服务功能,第5章介绍节点可信计算环境的构建,第6章介绍可信网络连接机制的部署。第7章为拓展学习部分,介绍可信计算在等级保护系统、云计算、物联网、大数据等环境下的应用前景。
可信计算内容繁多,工程实现细节复杂。因此,本书在可信计算工程技术介绍上,以结构、流程设计为主,在工程实例方面则给读者直接提供具备特定可信计算功能的可信构件,让读者通过可信构件的配置和组合实现可信计算功能,以封装开发过程中的很多细节,让读者能够专注于可信计算中更核心和本质的内容。对可信计算细节内容感兴趣、希望深入研究的读者可阅读开放式可信计算框架中构件的源代码,并参考各章的扩展学习部分以及可信计算相关领域的论文标准等资料自行学习。特别欢迎大家参与到可信计算平台的开发工作中,与笔者共同改进平台框架和丰富可信构件,为可信计算提供更好的教学环境。
可信计算是一种用来支撑安全机制的通用技术,在信息系统的各种应用领域,可信计算均可和该领域的安全机制相结合,提供灵活、可扩展、高安全保障的安全解决方案。本书仅介绍可信计算的一些基本工程开发方法,笔者希望读者能够把从本书中学到的知识应用到实际工程中,更希望读者能够积极反馈可信计算实际开发中遇到的问题,与笔者共同学习,深入讨论,研究解决方法,一起推进我国基于可信3.0的可信计算革命。
作者
2016年10月23日