前言
随着互联网应用的日益广泛,围绕网络信息的获取、使用、传输引发的安全问题越来越显得重要,网络空间安全也上升为国家战略,实践能力是网络空间安全创新人才培养的核心之一。本书是为高等学校的本科生、研究生提供的网络安全程序设计教材。
网络空间安全涉及数学、计算机科学与技术、信息与通信工程等多个学科,已形成了一个相对独立的教学和研究领域。网络安全程序设计对学生的要求相对比较高,需要高级语言编程、操作系统、计算机网络、密码学与信息安全等基础知识以及一些工具软件的应用。
本书从网络空间安全的必要性以及对创新人才培养的需求出发,阐述网络安全程序设计的编程基础与核心技术,对每个技术的讲述包括基本概念、基本原理及编程实例,将基础知识与编程实践结合,这对启发学生的思考以及提升动手能力是十分重要的。从而学生更能深入理解每种安全机制的实质,也有助于学生理论联系实际地根据实际应用掌握网络安全编程技术。
全书共8章。第1章概要介绍网络空间安全的必要性、网络空间安全对人才培养的新要求以及网络安全程序设计相关知识; 第2章介绍网络安全编程基础,包括Socket编程以及VC++ 网络安全编程; 第3章阐述密码学基础知识,基于经典密码算法的安全编程实例; 在此基础上,第4章讲述基于网络安全开发包OpenSSL的编程实践; 第5章介绍网络扫描器的设计,包括ICMP扫描、TCP扫描、木马扫描等基本原理与编程实现; 第6章介绍了防火墙技术以及基于包过滤技术的防火墙实现; 第7章介绍入侵检测系统原理、技术与实现; 第8章介绍两种实际应用系统编程,包括基于OpenSSL的安全Web服务器设计实现及安全电子邮件编程。
本书的建议学时为48学时,其中课堂讲解部分为24学时,上机实验24学时。根据各专业的不同教学需求,以上学时安排和内容可根据实际需要进行调整。
本书由李红娇担任主编与统稿工作,李晋国、李婧担任副主编。李红娇负责编写第1~4章。第5章和第6章内容由李婧负责编写,第7章和第8章内容由李晋国负责编写。许智、陈晶晶、郭政伟参与了本书的编辑及程序代码调试工作。本书由上海电力学院顾春华教授主审。本教材编写得到了上海市信息安全管理重点实验室开放课题(编号AGK2015005)以及上海市科委地方能力建设项目(No.15110500700)资助。在编写过程中,也参考了一批技术文献、著作、教材及网络资源,为本书的编写奠定了宝贵的基础,在此一并表示衷心的感谢。
由于编者水平有限,书中难免有疏漏和不足之处,恳请专家和读者批评指正。
编者
2016年12月于上海