欢迎光临
免费的PDF电子书下载网站

网络安全程序设计 PDF下载

编辑推荐

 ; 本书从网络空间安全的必要性以及对创新人才培养的需求出发,阐述网络安全程序设计的编程基础与核心技术,对每个技术的讲述包括基本概念、基本原理以及编程实例,将基础知识与编程实践结合,这对启发学生的思考以及提升动手能力是十分重要的。从而,更能深入理解每种安全机制的实质,也有助于学生理论联系实际地根据实际应用掌握网络安全编程技术。 ;

内容简介

 ; 本书以网络安全程序设计基础和主要技术为核心内容。重点介绍密码学编程,基于OpenSSL开发包的网络安全编程,网络扫描器设计,防火墙设与实现,入侵检测设计与实现以应用系统安全编程。

作者简介

暂无

网络安全程序设计 PDF下载

目录

目录

 ;

第1章绪论

 ;

1.1网络空间安全的必要性

 ;

1.1.1技术层面

 ;

1.1.2网络安全与国家战略

 ;

1.2网络空间安全学科研究的主要内容

 ;

1.3网络空间安全对人才培养的新要求

 ;

1.3.1我国网络空间安全面临的形势

 ;

1.3.2网络空间安全一级学科

 ;

1.3.3网络空间安全创新人才培养体系

 ;

1.4网络安全程序设计基础知识

 ;

1.4.1网络协议

 ;

1.4.2操作系统

 ;

1.4.3网络安全组成

 ;

1.4.4网络安全开发包

 ;

1.5本书内容安排

 ;

小结

 ;

思考题

 ;

第2章网络安全编程基础

 ;

2.1套接字编程

 ;

2.1.1套接字概念

 ;

2.1.2连接过程

 ;

2.1.3基本套接字

 ;

2.1.4典型过程图

 ;

2.2WinSock编程相关函数

 ;

2.2.1Win32 API 相关套接字常用函数

 ;

2.2.2基于消息套接字编程相关函数

 ;

2.2.3MFC常用函数

 ;

2.2.4TCP套接字相关函数

 ;

2.2.5UDP套接字相关函数

 ;

2.2.6编写套接字通信

 ;

2.3Visual C 网络安全编程

 ;

2.3.1获取系统实时信息

 ;

2.3.2进程处理

 ;

2.3.3线程处理

 ;

2.3.4定时器处理

 ;

2.3.5注册表处理

 ;

2.3.6获取网络接口信息

 ;

小结

 ;

思考题

 ;

第3章密码学编程

 ;

3.1密码学基本概念

 ;

3.1.1对称密码

 ;

3.1.2公钥密码

 ;

3.1.3哈希函数

 ;

3.1.4数字签名

 ;

3.1.5随机数与伪随机数

 ;

3.2基于SHA1算法的文件完整性校验

 ;

3.2.1SHA1算法

 ;

3.2.2基于SHA1的文件完整性检验

 ;

3.3基于RSA算法实现数据加解密

 ;

3.3.1RSA算法原理

 ;

3.3.2基于RSA算法实现数据加解密

 ;

小结

 ;

思考题

 ;

第4章基于OpenSSL的网络安全编程

 ;

4.1OpenSSL 概述

 ;

4.1.1背景技术

 ;

4.1.2OpenSSL的特点

 ;

4.1.3OpenSSL的功能

 ;

4.1.4OpenSSL支持的算法

 ;

4.1.5OpenSSL应用程序

 ;

4.1.6OpenSSL的Engine机制

 ;

4.1.7OpenSSL安装方法

 ;

4.2OpenSSL EVP编程

 ;

4.2.1概述

 ;

4.2.2源码结构

 ;

4.2.3对称算法以及base64编码编程

 ;

4.2.4公钥算法编程

 ;

4.2.5哈希摘要算法

 ;

4.2.6消息鉴别码HMAC

 ;

4.2.7签名和验证算法

 ;

小结

 ;

思考题

 ;

第5章网络扫描器设计

 ;

5.1基本知识

 ;

5.1.1端口

 ;

5.1.2端口扫描

 ;

5.2ICMP扫描

 ;

5.2.1ICMP协议

 ;

5.2.2ICMP扫描过程

 ;

5.3TCP扫描

 ;

5.3.1TCP协议

 ;

5.3.2TCP扫描过程

 ;

5.3.3TCP扫描分类

 ;

5.4UDP扫描

 ;

5.5木马扫描

 ;

5.6漏洞扫描

 ;

5.6.1漏洞扫描技术

 ;

5.6.2漏洞扫描分类及技术

 ;

5.7实例编程——端口扫描实现

 ;

5.7.1ICMP扫描实现

 ;

5.7.2TCP扫描实现

 ;

5.7.3UDP扫描实现

 ;

5.7.4木马扫描实现

 ;

5.7.5隐秘扫描实现

 ;

小结

 ;

思考题

 

第6章防火墙设计与实现

 

6.1防火墙技术

 

6.1.1防火墙概念

 

6.1.2防火墙的技术原理

 

6.1.3防火墙的应用

 

6.1.4防火墙的局限性

 

6.2实例编程——实现包过滤防火墙

 

6.2.1基于协议的数据包过滤实现

 

6.2.2基于源IP地址的数据包过滤实现

 

6.2.3基于TCP通信目的端口过滤实现

 

6.2.4包过滤防火墙的编程实现

 

小结

 

思考题

 

第7章入侵检测模型设计与实现

 

7.1入侵检测技术

 

7.1.1入侵检测的基本原理

 

7.1.2入侵检测的主要分析模型和方法

 

7.1.3入侵检测系统的体系结构

 

7.1.4入侵检测系统的发展

 

7.2实例编程——基于KDD数据集及KMeans建立入侵检测模型

 

7.2.1KDD CUP 99数据集

 

7.2.2KMeans算法原理

 

7.2.3KMeans算法代码实现

 

小结

 

思考题

 

第8章应用系统安全编程

 

8.1基于OpenSSL的安全Web服务器程序

 

8.1.1基础知识

 

8.1.2基于OpenSSL的安全Web编程实现

 

8.2安全电子邮件编程

 

8.2.1基础知识

 

8.2.2编程训练——实现安全电子邮件传输

 

小结

 

思考题

 

参考文献

媒体评论

评论

前沿

前言


随着互联网应用的日益广泛,围绕网络信息的获取、使用、传输引发的安全问题越来越显得重要,网络空间安全也上升为国家战略,实践能力是网络空间安全创新人才培养的核心之一。本书是为高等学校的本科生、研究生提供的网络安全程序设计教材。网络空间安全涉及数学、计算机科学与技术、信息与通信工程等多个学科,已形成了一个相对独立的教学和研究领域。网络安全程序设计对学生的要求相对比较高,需要高级语言编程、操作系统、计算机网络、密码学与信息安全等基础知识以及一些工具软件的应用。本书从网络空间安全的必要性以及对创新人才培养的需求出发,阐述网络安全程序设计的编程基础与核心技术,对每个技术的讲述包括基本概念、基本原理及编程实例,将基础知识与编程实践结合,这对启发学生的思考以及提升动手能力是十分重要的。从而学生更能深入理解每种安全机制的实质,也有助于学生理论联系实际地根据实际应用掌握网络安全编程技术。全书共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月于上海

免费在线读

第3章密码学编程密码学是信息安全的基础,可应用于数据加解密、数字签名、安全认证、电子投票等领域。在理解密码学基本概念的基础上,可应用经典密码算法解决实际系统中的安全问题。3.1密码学基本概念经典密码学是指秘密书写的科学。密码(cipher)是一种秘密书写的方法。把明文(plaintext)变换为密文(ciphertext)或密报(cryptography),这种变换叫加密(encipherment或encryption)。而将密文变换为明文的过程称为解密(decipherment或decryption)。加密和解密都要通过密钥(Key)的控制。加密/解密示意图如图31所示。

图31加密/解密示意图

密码学的研究领域可分为密码编码学(Cryptography)和密码分析学(Cryptanalysis)两个分支,分别研究密码的编制和破译问题。密码编码学和密码分析学是密码学的两个方面,两者既相互对立,又互相促进和发展。密码编码学研究密码编码(也称为加密)、译码(也称为解密)的理论和算法。密码分析也叫做破译,密码分析学的主要任务是研究加密信息的破译或认证信息的伪造。它主要是对密码信息的解析方法进行研究。只有密码分析者才能评判密码体制的安全性。3.1.1对称密码对称密码算法又称为传统密码算法,其主要特征是加密算法与解密算法所使用的密钥是相同的,或者从一个容易推出另一个。对称密码算法可用于保护数据的机密性和完整性,还可以扩展到身份识别等。对称密码算法在最近半个多世纪的研究中得到了迅猛发展,有很多成熟的算法可供选择。具有代表性意义的算法有两类: 一类是分组密码算法; 另一类是序列密码算法。分组密码算法是把明文、密文分成等长的组,然后对这些等长的组进行变换,把明文变为密文,把密文变为明文。而序列密码算法则是通过算法把密钥k扩展为与明文或密文相一致的子密钥序列,然后明文与密文通过与该子密钥序列按位模2相加,把明文变为密文,把密文变为明文。代表性分组密码算法有DES、AES。其他的对称分组密码算法包括IDEA,RC5,CAST128等。3.1.2公钥密码公钥密码算法又称为非对称密钥密码算法,其主要特征是加密密钥可以公开,而不会影响到解密密钥的机密性。它可用于保护数据的机密性、完整性和身份识别等。公钥密码体制也称为双密钥密码体制或非对称密码体制,与此相对应,将序列密码和分组密码等称为单密钥密码体制或对称密钥密码体制。表31总结了单钥加密和公开密钥加密的重要特征。

表31单钥加密与公钥加密

选项单 钥 加 密公开密钥加密
运行条件① 加密和解密使用同一密钥和同一算法
② 发送方和接收方必须共享密钥和算法① 用同一算法进行加密和解密,而密钥有一对,其中一个用于加密,而另一个用于解密
② 发送方和接收方每个拥有一个相互匹配的密钥中的一个(不是另一个)安全条件① 密钥必须保密
② 如果不掌握其他信息,要想解密报文是不可能或者至少是不现实的
③ 知道所用的算法加上密文的样本必须是不足以确定密钥的① 两个密钥中的一个必须保密
② 如果不掌握其他信息,要想解密报文是不可能或者至少是不现实的
③ 知道所用的算法加上一个密钥和密文的样本必须不足以确定密钥

为了区分这两个体制,一般将单钥加密中使用的密钥称为秘密密钥(Secret Key),公开密钥加密中使用的两个密钥分别称为公开密钥(Public Key)和私有密钥(Private Key)。在任何时候私有密钥都是保密的,但把它称为私有密钥而不是秘密密钥,以免同单钥加密中的秘密密钥混淆。单钥密码安全的核心是通信双方秘密密钥的建立,当用户数增加时,其密钥分发就越来越困难,而且单钥密码不能满足日益膨胀的数字签名的需要。公开密钥密码编码学是在试图解决单钥加密面临的这个难题的过程中发展起来的。公共密钥密码的优点是不需要经安全渠道传递密钥,大大简化了密钥管理。它的算法有时也称为公开密钥算法或简称为公钥算法。公开密钥的应用主要有以下三方面。(1) 加密和解密。发送方用接收方的公开密钥加密报文。(2) 数字签名。发送方用自己的私有密钥“签署”报文。签署功能是通过对报文或者作为报文的一个函数的一小块数据应用发送者私有密钥加密完成的。(3) 密钥交换。两方合作以便交换会话密钥。典型的公钥密码算法包括: RSA算法,有限域乘法群密码与椭圆曲线密码。3.1.3哈希函数

网络安全程序设计 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:网络安全程序设计