序
如今云计算已步入发展的第二个十年,容器、微服务、DevOps等新技术正在不断地推动着云计算的变革,基于云的应用已经深入政府、金融、工业、交通、物流、医疗健康和教育等传统行业,云计算市场在高速增长。然而,云计算在应用过程中的安全问题也逐渐显露,如何构建安全的云、如何安全地使用云已成为亟待解决的问题。近年来,国内外相关组织持续推进云安全技术的研究工作,制定了相应的技术标准,在很大程度上解决了云计算的安全问题。特别是,在2019年12月我国实施等级保护2.0标准以来,云安全的实施路线已基本明确。在此背景下,通过专业课程,向网络空间安全专业的大学生和研究生系统地传授云安全的相关知识和基于云计算技术开发安全的应用,具有十分重要的意义。
我与陈驰博士相识多年,他从2003年至今一直在信息安全国家重点实验室从事系统安全研究工作,是国内最早开展云安全研究的学者之一。陈驰博士带领团队完成了新疆“天山云”安全防护系统设计、原中央人民广播电台“广播云”安全防护系统设计和广东“数字政府”网络安全体系建设总体规划,对于大型云计算中心的安全建设规划具有比较丰富的经验。陈驰博士带领的团队还积极参与等级保护2.0标准、云安全参考架构和政务云安全要求等国家和行业标准的编制工作,为我国云安全标准体系的建设做出了贡献。与此同时,陈驰博士连续多年在中国科学院大学网络空间安全学院为研究生开设“云计算安全”课程,具有丰富的教学经验。
今天,我非常高兴地看到在中国科学院大学教材专项的支持下,通过陈驰博士及其团队的辛勤努力和付出,《云计算安全》《云存储安全实践》两部教材即将和读者见面。这两部教材适合作为网络空间安全专业高年级本科生或研究生的专业课教材,也可以作为该领域从业人员的参考书,其他学科背景的人员也能从本书所讲述的技术中获益,使云安全技术得以更加广泛地应用于政府、商业和工业等部门。
我衷心地希望这两部教材的出版可以帮助广大读者对云安全建立更加系统全面的理解和认识,并将安全的理念和技术应用于云计算实践之中。大数据安全和云安全有密切关系,但有不同的关注点。除了一般云安全,大数据安全还需要解决用户数据的安全审计、安全检索和安全计算外包等问题,特别是在云管理者不可信假设下,有效解决这些问题变得极为困难,也极为重要。除了必要的法律法规建设,还需要有力的技术支撑和广大科技工作者的共同努力。
中国科学院院士 郑建华
前 言
在云计算、大数据、物联网、移动互联和人工智能飞速发展的全球信息化时代,云存储是至关重要的数据存储基础设施,为越来越多的政府部门、科研院所、企业和个人用户提供按需获取、弹性伸缩、性价比高、便捷访问的数据存储服务。
在云存储广泛应用的同时,云存储安全问题日益凸显。例如,云存储服务平台安全性不足导致用户数据泄露,数据传输信道遭受恶意拦截导致数据丢失,云存储服务商非法对用户数据进行挖掘分析,云存储服务商内部员工非法售卖用户数据等。如何保障云存储安全已成为用户的关键需求和云存储服务商的重要工作。针对这一难题,本书整理、总结作者多年的理论和实践经验,系统地讲解一个安全云存储系统的构建过程,从安全云存储系统概述出发,以系统开发环境搭建介绍为基础,详细讲述安全云存储系统的基础安全服务和数据安全服务的实现过程,并在系统开发完成后针对系统的更新、测试与发布进行细致的讲解,旨在为读者呈现一个完整的安全云存储系统开发实践过程。
本书共分5章,各章的具体安排如下:
第1章是安全云存储概述,通过介绍云存储服务的基本知识和发展现状,从技术、管理和法律法规三个方面全面剖析云存储面临的各种安全风险,然后结合安全风险深入分析了云存储服务的安全需求,从而提出安全云存储系统的构建方案,描述安全云存储系统的总体框架、功能架构和优势特色,并对为安全云存储系统提供关键安全服务的云安全服务进行了详细阐述。
第2章介绍如何搭建安全云存储系统的开发环境。安全云存储系统采用客户端/服务端模式,在客户端开发环境搭建方面,介绍了主流的跨平台桌面开发工具Qt的基础知识、安装步骤和使用方法;在服务端开发环境搭建方面,讲解了开源数据库PostgreSQL和微服务框架SpringBoot的安装、配置、使用方法,并通过示例程序为读者搭建、熟悉安全云存储系统的开发环境提供参考。
第3章主要讲述安全云存储系统基础安全服务的实现方法。针对云存储服务的用户管理风险和用户安全管控需求,安全云存储系统提供用户标识、用户鉴别、访问控制、安全审计和管理员“三权分立”等用户安全管控功能。本章首先介绍各项基础安全服务的基础知识和概要设计,然后通过分解步骤和示例程序详细讲解每项基础安全服务的具体实现过程,为读者的动手实践提供详细的指导。
第4章主要讲解如何实现安全云存储系统的数据安全服务。数据管理是云存储系统的主要功能,数据安全是云存储系统的核心安全需求。安全云存储系统不仅具备数据上传、数据存储、数据列出、数据下载、数据检索、数据分享等数据管理功能,同时提供数据加密、密钥管理、密文检索等数据安全服务。本章以各项数据安全服务基础知识概述和功能设计介绍为基础,重点讲解各项数据安全管理功能和数据安全服务的具体实现方法,并提供分解步骤和示例程序。
第5章针对安全云存储系统的更新、测试与发布进行介绍。为了保障安全云存储系统的完善、稳定和上线运行,后期更新、测试与发布是前期开发任务完成后必不可少的工作。本章首先介绍安全云存储系统客户端在线更新的实现方法,然后分别介绍客户端和服务端的测试工具、测试方法及具体步骤,最后分别介绍客户端打包和服务端打包发布的过程与方法,为读者实现安全云存储系统的对外发布提供指导。
本书包含大量编程方法,因此阅读本书需具备一定信息安全知识和Java、C++编程基础。为了使书中讲述的知识更加容易理解,思路更加清晰,本书对代码进行了详细的注释;针对部分操作容易出错或理解存在歧义的地方,本书在其下方以“注意”的形式进行了说明。另外,本书附带的实验平台网址为https://114.55.101.121:8843。
本书是中国科学院大学研究生教材《云计算安全》的配套教学辅导书,同时也可作为信息安全、计算机及其他信息学科高年级本科生或硕士研究生的教材。本书采用知识和实践相结合的方法,按照提出问题、分析问题、解决问题的思路,通过详细的示例程序指导读者完成一个安全云存储系统的开发,使读者逐步掌握利用信息安全技术解决云存储安全问题的方法,有利于培养读者的分析能力和动手实践能力,同时增强读者对云存储系统安全与云计算安全的认识和理解。本书也可作为信息安全职业培训的教材,以及广大计算机用户、系统管理员、计算机安全技术人员、对云存储安全和云计算安全感兴趣的企业管理人员的技术参考书。
本书从构思、写作、修改到出版,不仅凝结了作者的辛勤汗水,还得到了业界和科研领域许多同仁的无私帮助,在此要对他们致以最衷心的感谢。感谢郑建华院士在百忙之中审阅本书,并为之作序。本书的出版得到了电子工业出版社的大力支持,得到中国科学院大学教材出版中心,以及国家重点研发计划(2017YFC0820700和2016ZX05047003)、北京市科委大数据平台安全评估与防护关键系统研发(Z191100007119003)等科研项目的支持和资助,在此一并表示感谢。
本书代表作者及研究团队对于云存储安全的观点,由于水平有限,难免会出现错误或考虑不周之处,恳请读者批评指正,使本书得以改进和完善。
作 者
2020年3月