{
网络安全概述
数据加密
消息完整性与数字签名
身份认证
密钥分发中心与证书认证
防火墙与入侵检测系统
网络安全协议
}

网络安全概述

{
基本概念
网络安全威胁
}

image.png

一、网络安全通信需要的基本属性:
1、机密性:只有发送方和接收方才能理解报文内容。
2、消息完整性:消息未被篡改,发生篡改一定会被检测到。
3、可访问性与可用性:对授权用户提供有效服务。
4、身份认证:双方确认彼此的真实身份。

二、典型的网络安全威胁:
1、报文传输方面:窃听、插入、假冒、劫持等安全威胁。
2、拒绝服务DoS以及分布式拒绝服务DDoS。
3、映射:Namp是国外广为使用的端口扫描工具之一。
4、分组“嗅探”:Wireshark是一个典型的分组嗅探软件。
5、IP欺骗

数据加密

{
通信加密模型
传统加密方式
对称秘钥加密
非对称/公开秘钥加密
}

通信加密模型:
明文:未加密的消息。
密文:被加密的消息。
加密:明文转变为密文的过程。
解密:密文转变为明文的过程。

image.png

M 可能明文的有限集,称为明文空间
C 可能密文的有限集,称为密文空间
K 一切可能密钥构成的有限集,称为密钥空间
E 加密算法
D 解密算法

根据密码体制的特点以及出现的先后时间可以将密码方式分类为:
一、传统加密方式:替代密码;换位密码
二、对称密钥加密
三、公开密钥加密

替代密码

一、替代密码 凯撒密码是替代密码的典型应用。
加密函数:Ek(M)=(M+k)modq 解密函数:Dk(C)=(K-k)modq q=26

image.png

一、替代密码 例:如果对明文“bob,I love you,Alice”,利用k=3的凯撒密码加密,得到的密文是什么?
解:明文“bob,I love you,Alice”
加密后得到的密文是“ere,L oryh brx,Dolfh”。

置换密码

二、换位密码,又称置换密码
根据一定规则重新排列明文,以便打破明文的结构特性。只改变明文结构,不改变内容。
换位密码:列置换密码和周期置换密码。

列置换密码加密过程:
1、首先,将明文P按密钥K的长度n进行分组,并且每组一行按行排列,即每行有n个字符。
2、若明文长度不是n的整数倍,则不足部分用双方约定的方式填充,如双方约定用字母“x”替代空缺处字符。
3、设最后得到的字符矩阵为Mmn,m为明文划分的行数。 然后,按照密钥规定的次序将Mmn对应的列输出,便可得到密文序列C。

例:假设采用密钥K=nice的列置换密码,对明文“bob i love you”进行加密,加密得到的密文是什么?

第一步:确定密钥长度(几个字母),并且确定字母在26个字母中的顺序。 密钥K=nice,则密钥长度n=4,密钥的字母顺序为( 4,3,1,2 )

第二步:将明文按顺序横向排列展开,具体展开有几列,由密钥长度决定。

b o b i
l o v e
y o u x

第三步:输出顺序确定。看密钥字母顺序,和排列好后的表格对应。

4 3 1 2
第一列 第二列 第三列 第四列
b o b i
l o v e
y o u x

bvu iex ooo bly

对称密钥加密

现代密码学又可以分为对称密钥密码和非对称密钥密码。
对称密钥密码:加密密钥和解密密钥是相同的。
非对称密钥密码:加密密钥和解密密钥是不同的。

image.png

DES加密算法

一、DES加密算法
1、加密过程: 使用56位的密钥,明文为64位分组序列,共进行16轮的加密。

2、三重DES:使用两个密钥,执行三次DES算法,密钥长度达到112位。

按照常规的方法用密钥K1执行DES加密
按照DES解密方式,只用密钥K2进行解密
再次用 K1执行DES加密

三重DES:使用两个密钥,执行三次DES算法
加密过程:加密-解密-加密
解密过程:解密-加密-解密

AES加密算法

二、AES加密算法

高级加密标准(Advanced Encryption Standard,AES)
1、AES加密过程涉及4种操作:字节替代、行移位、列混淆、轮密钥加。
2、密钥长度:128/192/256位

3、特点:
1)分组长度和密钥长度均可变
2)循环次数允许在一定范围内根据安全要求进行修正
3)安全、效率、易用、灵活
4)抗线性攻击和抗差分攻击的能力大大增强
5)如果1秒暴力破解DES,则需要149万亿年破解AES

三、IDEA加密算法 国际数据加密算法(International Data Encryption Algorithm,IDEA) 广泛应用在安全电子邮件PGP中。密钥长度为128位。

非对称/公开密钥加密

如果密码分析者可以直接窃取密钥,那么对称密钥加密算法还有价值吗?

非对称密钥密码,或称公开密钥密码(公钥密码),既方便密钥的分发,又确保密码体系的安全 。

1、通信双方都有两个密钥:公钥(任何人都可以得到) 私钥(只有自己知道)
2、典型的公开密钥加密算法:Diffie-Hellman算法和RSA算法。
3、Diffie-Hellman算法:基于数学中素数原根理论。
RSA算法:基于数论设计,安全性建立在大数分解的难度上。
应用比较广泛,安全性高。

公开密钥密码加密过程:

image.png

Alice给Bob通信:
1、Alice用Bob的公钥加密明文,发送。
2、Bob收到密文后,用自己的私钥解密得到明文。

假设加密用私钥,解密用公钥可以吗?
可以:
image.png

消息完整性与数字签名

{
消息完整性检测方法
报文认证
数字签名
}

消息完整性检测方法

一、报文/消息完整性(message integrity),也称为报文/消息认证(或报文鉴别), 其主要目标是:
1、证明报文确实来自声称的发送方;
2、验证报文在传输过程中没有被篡改;
3、预防报文的时间、顺序被篡改;
4、预防报文持有期被篡改;
5、预防抵赖。

消息完整性检测方法:需要用到密码散列函数,对报文m进行散列化。

1、密码散列函数的特性:
1)一般的散列函数具有算法公开
2)能够快速计算
3)对任意长度报文进行多对一映射均能产生定长输出
4)对于任意报文无法预知其散列值
5)不同报文不能产生相同的散列值,具有抗强碰撞性
6) 单向性

2、典型的散列函数
第一种:MD5(Message-Digest Algorithm 5):128位散列值。
第二种:SHA-1:160位散列值

报文认证

消息完整性检测的一个重要目的就是完成报文认证。

报文认证是使消息的接受者能够检验收到的消息是否是真实的认证方法。
报文认证的目的有两个:
1、消息源的认证;
2、消息的认证。

对报文m应用散列函数H,得到固定长度的散列码,称为报文摘要,记为H(m)。
报文摘要可以作为报文m的数字指纹(fingerprint);

image.png

简单报文验证

1、发送放对报文m应用散列函数,得到固定长度的散列码,获得报文摘要h,将扩展报文(m,h)发送给接收方。
2、接收方收到扩展报文后,提取出报文m和报文摘要h,同样对报文m应用散列函数H获得新的报文摘要H(m),将H(m)和h比较。若相同,则报文认证成功,否则报文认证失败。

不足:无法达到对消息源认证。

image.png

报文认证码MAC(Message Authentication Code)

1、发送方和接收方共享一个认证密钥s,发送方对报文m和认证密钥s应用散列函数H得到报文认证码h,将扩展报文(m,h)发送给接收方。
2、接收方收到扩展报文后,提取出报文m和报文认证码h,对报文m和认证密钥s应用散列函数H获得新的报文认证码H(m+s),将H(m+s)与h比较,若相等,则报文认证成功,否则失败。

不足:无法保证消息在接收方没有被篡改。

image.png

数字签名

问题一:发送方不承认自己发送过某一报文。
问题二:接收方自己伪造一份报文,并声称来自发送方。
问题三:某个用户冒充另一个用户接收和发送报文。
问题四:接收方对收到的信息进行篡改。

一、数字签名:在公钥密码体制中,一个主体可以使用自己的私钥加密消息,所得到的密文可以使用该主体的公钥解密来恢复成原来的消息。如此生成的密文对该消息提供认证服务。 (私钥加密, 公钥解密。 和公开秘钥加密的方式完全相反)

数字签名应满足:
1)接收方能够确认或证实发送方的签名,但不能伪造。
2)发送方发出签名的消息给接收方后,就不能再否认他所签发的消息
3)接收方对已收到的签名消息不能否认,即有收报认证
4)第三者可以确认收发双方之间的消息传送,但不能伪造这一过程

简单数字签名:
image.png

1、Bob利用自己的私钥对报文m加密,创建签名报文。将扩展报文发送给Alice。
2、Alice收到报文m以及签名报文。利用Bob的公钥解密签名报文,并检验解密后的签名报文和报文m是否一致。 3、若一致,则签名m的一定是Bob的私钥。

签名报文摘要
image.png

签名报文摘要
1、Bob对报文m应用散列函数H生成报文摘要H(m),然后Bob通过其私钥对报文摘要进行加密生成加密的报文摘要,将扩展报文发送给Alice。
2、Alice收到报文m以及加密的报文摘要。Alice利用Bob的公钥解密加密的报文摘要,并对m应用散列函数生成新的报文摘要,如果两者一致,则签名报文m的一定是Bob的私钥。

身份认证

身份认证:身份鉴别,一个实体经过计算机网络向另一个实体证明其身份的过程。
1、基于共享对称密钥的身份认证;
2、基于公开密钥的身份认证;

一、基于共享对称密钥的身份认证

image.png

1、Alice向Bob发送报文“我是Alice”
2、Bob选择一个一次性随机数R,然后把这个值发送给Alice
3、Alice使用她与Bob共享的对称秘密密钥加密这个一次性随机数,然后把加密的一次性随机数发回给Bob。
4、Bob解密收到的报文。

二、基于公开密钥的身份认证

image.png

密钥分发中心与证书认证机构

{
密钥分发中心
证书认证机构
}

密钥分发中心

1、对称密钥分发的典型解决方案:通信各方建立一个大家都信赖的密钥分发中心(Key Distribution Center,KDC),解决对称密钥安全可靠的分发。

image.png

方式一:通信发起方生成回话密钥
1、Alice和Bob进行保密通信。Alice随机选择一个会话秘钥。用Alice和KDC之间长期的共享密钥加密会话秘钥,发送给KDC。
2、KDC得到后,解密获得会话密钥,以及所希望通信方Bob。KDC利用其和Bob的长期共享密钥加密密钥,发送给Bob。
3、Bob解密,获得会话秘钥,并且得知期望和自己通信的是Alice。

image.png

方式二:KDC为Alice、Bob生成通信的会话秘钥
1、Alice在希望和Bob通信时,首先向KDC发送请求消息。
2、KDC收到请求消息后,随机选择一个会话秘钥,并将会话秘钥分别用和Alice、Bob的长期共享密钥加密,再分别发送给Alice、Bob。
3、Alice、Bob收到KDC的密文后,分别解密,获得会话秘钥。

证书认证机构

image.png

要使公共密码有效,需要证实你拥有的公钥,实际上就是要与你通信的实体的公钥。 将公钥与特定的实体绑定,通常由认证中心(Certification Authority,CA)完成。

认证中心(Certification Authority,CA)的作用:
1)CA可以证实一个实体的真实身份。
2)一旦CA验证了某个实体的身份,CA会生成一个把其身份和实体的公钥绑定起来的证书,其中包含该实体的公钥及其全局唯一的身份识别信息等,并由CA对证书进行数字签名。

image.png

防火墙与入侵检测系统

{
防火墙基本概念
防火墙分类
入侵检测系统IDS
}

防火墙基本概念

一、防火墙是能够隔离组织内部网络与公共互联网,允许某些分组通过,而阻止其他分组进入或离开内部网络的软件、硬件或者软件硬件结合的一种设施。
image.png

防火墙分类

一、防火墙的分类
1、无状态分组过滤器
2、有状态分组过滤器 (这些分组过滤器,主要检查IP、TCP、UDP、ICMP首部字段)
3、应用网关

1、无状态分组过滤器 典型部署在内部网络和网络边缘路由器上的防火墙。 路由器逐个检查数据报,根据访问控制表(Access Control Lists,ACL)实现防火墙规则。

2、有状态分组过滤器 使用连接表跟踪每个TCP连接,分组过滤器跟踪连接建立和拆除,根据状态确定是否放行进入或者外出的分组。对于超时的非活动连接,则不允许分组通过。

3、应用网关 分组过滤器和应用网关结合起来,应用网关实现授权用户通过网关访问外部网络的服务。

入侵检测系统IDS

一、入侵检测系统(Intrusion Detection System,IDS)是当观察到潜在的恶意流量时,能够产生警告的设备或系统。 IDS能够检测多种攻击,例如:网络映射、端口扫描、TCP栈扫描、DoS拒绝服务攻击。

网络安全协议

{
安全电子邮件
安全套接字层SSL
虚拟专用网VPN和IP安全协议IPSec
}

自顶向下介绍各层解决安全性的实例协议

1、安全电子邮件
2、安全套接字层SSL
3、虚拟专用网VPN和IP安全协议IPSec

一、电子邮件对网络安全的需求:
1、机密性
2、完整性
3、身份认证性
4、抗抵赖性

二、安全电子邮件标准:PGP标准(Pretty Good Privacy)
1、PGP提供的服务: 邮件加密;报文完整性;数字签名;

加密阶段:
1、Alice先对报文m使用SHA-1散列函数,采用Alice的私钥对摘要进行数字签名,得到签名报文摘要。
2、邮件报文m和数字签名在PGP中压缩,再使用3DES进行对称加密,对称密钥为Ks;
3、为了使对称密钥Ks能安全到Bob手中,使用Bob的公钥加密对称密钥。
4、加密的密钥和加密的压缩报文进行Based64的编码,把非7位ASCII码内容编码为7ASCII,以便利用SMTP进行传输。

三、PGP工作原理及工作过程 解密阶段:
1、Bob接收邮件后,先利用Based64进行还原,在进行分离;
2、然后利用私钥解密得到对称密钥Ks
3、再利用Ks进行3DES解密
4、解压缩后进一步分离

安全套接字层SSL

1、一般Web服务器越强大,包含安全漏洞的概率越高。
2、Web浏览器也会遇到各种各样的安全威胁。
3、普通Web应用的应用层数据,在传输过程中都已明文形式传输,可能受到攻击。

1、在电子商务背景下,提出HTTP安全电子商务交易协议;
2、在传输层之上构件一个安全层,安全套接字层(Secure Socket Layer,SSL) 或传输层安全(Transport Layer Security,TLS)

一、SSL可以提供的服务 机密性、完整性、身份认证等安全服务。

二、简化的SSL主要包含:
1)发送方和接收方利用各自的证书、私钥认证、鉴别彼此,并交换共享密钥
2)密钥派生或密钥导出,发送方和接收方利用共享密钥派生出一组密钥
3)数据传输,将传输数据分割成一系列记录,加密后传输
4)连接关闭,通过发送特殊消息,安全关闭连接,不能留有漏洞被攻击方利用

三、SSL协议栈(协议的总和)
SSL是介于TCP和HTTP等应用层协议之间的一个可选层,大多数应用层协议直接建立在SSL协议之上,SSL是两层协议。
SSL协议栈

SSL握手协议 SSL更改密码协议 SSL警告协议
SSL记录协议
TCP
IP

1、SSL握手协议:
主要是协商密码组和建立密码组,派生密码
服务器认证与鉴别和客户认证与鉴别

2、SSL更改密码协议:通信双方修改密码组,标志着加密策略的改变。

公开密钥加密算法 SSL主要使用RSA,其他多种公钥加密算法也支持
对称密钥加密算法 SSL支持DES分组密码、3DES分组密码等
MAC算法 MD5或SHA-1

3、SSL警告协议:
为对等实体传递SSL警告或终止当前连接,包含两个字段:警告级别和警告代码。

4、SSL记录协议:描述了信息交换过程中的消息格式,前面3个协议需要记录协议进行封装与传输。

四、SSL的握手过程:

  1. 客户发送其支持的算法列表,以及客户一次随机数nonce,服务器从算法列表中选择算法,并发给客户自己的选择、公钥证书和服务器端一次随机数nonce
  2. 客户验证证书,提取服务器公钥,生成预主密钥,并利用服务器的公钥加密预主密钥,发送给服务器,实现密钥的分发
  3. 客户与服务器基于预主密钥和一次随机数,分别独立计算加密密钥和MAC密钥,包括前面提到的4个密钥
  4. 客户发送一个针对所有握手消息的MAC,并将此MAC发送给服务器
  5. 服务器发送一个针对所有握手消息的MAC,并将此MAC发送给客户

虚拟专用网VPN和IP安全协议IPSec

最典型的网络层安全协议:IP安全协议(IP Security,IPSec),为网络层信息传输提供了安全性。
许多机构指会使用IPSec创建运行在公共网络在之上的虚拟专用网络(Virtual Private Networks,VPN)

一、VPN涉及的关键技术:

image.png

隧道技术是核心

二、隧道:通过Internet提供的点对点的数据传输的安全通道。 通过数据加密保证安全,数据进入隧道时,由VPN封装成IP数据报,通过隧道在Internet上传输;离开隧道后,进行解封装,数据便不再受VPN保护。

1、隧道协议包括:
1)乘客协议:确定封装的对象属于哪个协议
2)封装协议:确定遵循哪一种协议进行封装,需要加什么字段等
3)承载协议:确定最后的对象会放入哪类公共网络,如在Internet网络中传输

IPSec体系简介
image.png

AH协议和ESP协议
1、AH协议和ESP协议是IPSec的核心。
2、AH协议提供的服务:源认证和鉴别,数据完整性检验。
3、ESP协议提供的服务:源认证和鉴别,数据完整性检验记忆机密性,比AH协议应用更加广泛。

三、IPSec传输模式:传输模式和隧道模式
1、传输模式:主机模式,IPSec数据报的发送和接收都由端系统完成。
2、隧道模式:将IPSec的功能部署在网络边缘的路由器上,边缘路由器是IPSec感知的,路由器和路由去之间建立起安全的隧道,数据报在其中封装传输。

四、传输模式和协议组合
1、传输模式AH
2、隧道模式AH
3、传输模式ESP
4、隧道模式ESP:最广泛和最重要的IPSec形式。