网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断
机密性(confidentiality):只有发送方与预定接收方能够理解报文内容,发送方加密报文,接收方解密报文
身份认证:发送方与接收方希望确认彼此的真实身份
信息完整性:发送方与接收方希望确保信息未被篡改(传输途中或后期).发生篡改一定会被检测到
访问与可用性:网络服务必须对被授权用户可访问与可用
基本特征
相对性:只有相对的安全,没有绝对的安全
时效性:新的漏洞与攻击方法不断发现。
相关性:新配置、新系统组件可能会引入新的安全问题
不确定性:攻击时间、攻击者、攻击目标和攻击发起的地点都有不确定性
复杂性:网络安全是一项系统工程,需要技术的和非技术的手段
重要性:网络安全关乎国家、政府、企业、个人的安全
拒绝服务(DOS Denial of service)
向接收方恶意泛洪(flood)分组,严么接收方
占尽带宽
资源耗尽(消耗服务器或者主机的CPU或者内存)
分布式拒绝服务攻击(DDOS):多个源主机协同淹没接收方
利用IP欺骗让反射服务器以为是目标给他的报文
一般第二次握手时服务器就已经为请求分配了空间,SYNcookie技术是不分配空间并且将返回的seq号通过哈希计算得出,来判断是否是攻击还是真正的连接。如果是真正的连接返回的ACK值对应,会分配空间。
相关术语:
明文:并未加密的信息,谁拿到都可以看懂
密文:铭文经过加密算法,不光需要知道加密算法, 没有解密密钥也无法还原
对称密钥加密(解密密钥与加密密钥为同一个)
非对称密钥加密(公开密钥加密)
传统加密方法
替代密码:利用一种东西代替另一种东西。
密匙中第一个字母用c1第二个字母用c2.。。。。。
列置换加密的密钥包括列数和输出顺序。
密钥的方式:可以用单词来表示。单词长度(字母数量)表示列数,单词在字母表的字母顺序表示输出顺序
现代加密技术
现代加密技术的基本操作包括经典的替代和 置换:不再针对一个个字母,而是针对二进制位操作
对称密钥加密:流密码,分组密码(块密码)
分组密码
将明文序列划分成长为m的明文组,各个铭=明文组在长度为i的密钥组的控制下变成长度为n的密文组,通常取n=m
n>m扩展分组密码 n
feistel分组密码结构
加密解密方法是一样的
数据加密标准:DES
初始置换IP(initial’permutation)
第一个格代表第一位,数字代表第几位的数字放到第一位
S盒替代就是基本替代,P盒置换就是换位
替代时6比特一组替换为4比特输出,其中有一个替换表
与前面表格一样,就是把扩展前的32位放到扩展后的第一位
高级加密标准AES
rijndael算法:
不属于feistel结构
加密、解密相似但不完全对称
支持128/192/256数据块大小
指出128/192/256密钥长度
有较好的数学理论作为基础
结构简单、速度快
特点:
公钥密码学
公钥的需求
RSA算法
任何一个待加密的报文/信息仅仅是一个比特模式,每个比特模式就可以表示位一个唯一的整数,因此加密一个报文就等价于加密一个数,如:m=10001 0001可以唯一的表示为十进制数145
为了加密m。我们可以加密对应的数(145),得到一个新的数(密文)
RSA实际运用
因为RSA运算强度太大通常与对称密钥相配合使用
身份认证
协议ap1.0:ALICE声明“I AM ALICE”
协议Aap2.0:aliice在IP分组中声明”i am alice“,ip分组包含alice的源IP地址
此方法会被IP欺骗破解
协议ap3.0:alice声明”i am alice“的同时,发送她的秘密口令进行证明
协议ap3.1:alice声明的同时发送他加密的秘密口令进行证明
第三方可以记录下来传输的信息,直接把加密的报文发送给接收方来证明
KAB是一个对称共享密钥。但是不足就是需要共享密钥,如何达成一致使用密钥。
ap5.0安全漏洞
报文完整性
密码散列函数:H(m)
需满足条件
数字签名
报文m的简单数字签名:报文加密技术是数字签名的基础
对太长的报文进行签名工作量太大,因此提出了对报文摘要进行签名, 效果相同
对称密钥问题
两个人如何共享一个密钥,由一个可信任的密钥分发中心(key distribution center——KDC)作为实体间的中介
安全电子邮件的基本原理
邮件具有单向性和非实时性
完成3次验证,KS为对称密匙,被B的公钥来加密后发过去
PGP标准,现在大部分使用的邮件安全标准
base64编码,把非7比特ASCLL码编码成ASCLL码。便于邮件协议发送
SSL就是安全套接字,放构建的在安全层,也可直接嵌入到浏览器中使用,
在网络层提供了一个安全通道
各种应用程序均可利用IPsec提供的安全机制,减少了安全漏洞 的产生
安全套接字层(SSL)
广泛部署的安全协议,几乎所有浏览器和WEB服务器都支持
用https的就说使用SSL与网站通信,http的就没有
SLL为使用TCP服务的应用进程提供了一个应用编程接口(API)
SSL简单的握手过程
不同的加密操作使用不同密钥会更安全
例如报文认证码(MAC)密钥和数据加密密钥是不同的
SSL不是一个是两层四个协议
密码组是指一套算法,多种算法组合起来
警告协议
握手协议
记录协议
SSL握手过程
1、客户发送其支持的算法列表,以及客户一次性随机数
2、服务器从算法列表中选择算法,并发回给客户:选择+证书+服务器一次性随机数
3、客户验证证书,提取服务器公钥,生成预先主密钥,并利用服务器的公钥加密预主密钥,发送给服务器
4、客户与服务器基于预主密钥和一次随机数分别独立计算机加密密钥和MAC密钥
5、客户将所有的握手消息整合到一起算出一个MAC发送服务器
6、服务器也会把所有的握手消息放在一起计算MAC发送给客户
有可能把支持算法列表中的安全性强算法删除,所以最后两步防止出现这种情况
SSL记录协议
6个字节SSL记录头
SSL连接在TCP之上,要先3次握手在建立SSL 结束SSL之后在四次挥手
密钥派生
密钥块就是4个密钥加两个向量的集合。初始向量就是开始用来加密的
专用网(PN)
动机:为了安全
不与公共互联网直接相连,在组织机构内部使用。可以租用专业网络或者自己搭建物理链路连接。不会有第三方的数据进入,不会被攻击。专属使用
成本问题:路由器、链路、DNS基础设施等
为了克服这么大成本,提出了虚拟专用网络(VPN)
虚拟专用网络是借用internet来建立安全的通道
VNP简单的说就是实现借助于架构在公共网络上实现专用网络的能力
完成功能:
1、数据机密性保护
2、数据完整性认证
3、数据源身份认证
4、防重放攻击
5、访问控制(哪些合法用户可以进入哪些不可以)
VPN关键技术
1、隧道技术
2、数据加密
3、身份认证
4、密钥管理
5、访问控制
6、网络管理
隧道技术(核心技术)
乘客协议:P2P协议或IP协议 封装的是IP数据报还是帧
封装协议:加什么域加什么东西什么加密
承载协议:在什么网络上传输,在Internet网络上承载协议就是IP协议
二层隧道协议主要用于封装,
三层是网络协议
典型VPN技术
IPsec:最安全、适用面最广
SSL:具有高层安全协议的优势
L2TP:最好的实现远程接入VPN的技术
典型VPN技术结合“IPSec与SSL、IPSec与L2TP
1、传输模式(主机模式):IPSec数据报的发送与接收均由端系统完成(IPSec的实现是在端系统上完成的。)
主机是IPSec感知的(主机来完成IPSec数据报相关的处理)
2、隧道模式:边缘路由器的IPsec感知的
提供IPsec服务的两个协议:
AH:在IP数据报文头中的协议号为51
ESP:在IP数据报文头中的协议号为50
认证头协议AH(authentication header)
提供源认证/鉴别和数据完整性校验,但不提供机密性
封装安全协议ESP
提供源认证/鉴别、数据完整性校验以及机密性,比AH应用更广泛
安全关联(SA)
发送数据前,从发送实体到接收实体之间需要建立安全管理SA(security association)
SA是单工的:单向
所以发送实体与接收实体要建立两个方向的 SA连接,均需维护SA的状态信息
回顾:TCP连接的端点也需要维护状态信息
IP是无连接的;IPsec是面向连接的(因为要建立SA)
SA需要记录的东西
安全关联数据库(SAD)
IPsec端点将SA状态保存在安全关联数据库SAD中,在处理IPsec数据报时,定位这些信息
对于n个销售人员,一个分支机构的VPN,总部的路由器R1的SAD中存储2+2n条SA信息
当发送IPsec数据报时,R1访问SAD,确定如何处理数据报,当IPsec数据报到达R2,R2检验IPsec数据报中的SPI ,利用SPI检索SAD,处理数据报
安全策略数据库SPD
安全策略(SP):定义看对什么样的数据流实施什么样样的安全处理
应用IPSEC 绕过(只是普通的IP报文,则绕过直接发到互联网上)、丢弃(不符合安全规格的数据报)
安全策略组成了SPD,每个记录是一条SP
每次收到数据报就要提取关键信息填充到一个称为“选择符”的结构,包括目标IP、源IP、传输层协议、源和目标端口等
利用选择符去搜索SPD,检索匹配的SP
安全处理需要的参数存储在SP指向的SA结构
IPSEC数据报
传输模式AH:
下一个头指向的原IP数据报载荷的头,如果载荷是TCP段,则指向TCP的头
隧道模式AH
传输模式ESP:
隧道模式的ESP(应用最广泛):
隧道模式要把他变成一个新的IP报所以要加新IP头
将IP数据报转换为IPsec数据报
解封IPsec数据报
SA的建立和密钥管理
IPsec支持两种方式的SA建立和密钥管理:
1、手工方式:所以的信息需要手工配置,此SA永远存在除非手工删除。只适用于节后简单的网络
2、自动方式:SA可以通过协商的方式产生 (包括密钥的交换和确认等,又双方决定),SA过期以后重新协商,提高了安全性。适用于较复杂拓扑和较高安全性的网络
主模式前四次是明文,后两次是密文
WEP(wired equivalent privacy):有线等效保密
对称密钥加密
机密性;主机认证;数据完整性
跟有线不同,要实现自同步:每个分组单独加密
给定加密分组和密钥,便可以解密;即便前序分组丢失,也可以继续成功解密分组(与CBC不同)加密解密分组直接没有依赖关系
实现高效:实现硬件或软件实现
wep关联认证
所以wep很不安全,大部分安全性要求较高的无线局域网都不会使用
IEEE802.11i:改进的安全机制
802.11i运行的四个阶段
TK才是真正使用的密钥
EAP扩展认证协议
firewall
隔离组织内部网络与公共互联网,允许某些分组通过,而组织其他分组进入/离开内部网络的软件/硬件设施
最常见的就是部署在路由器上
为什么需要防火墙
无状态分组过滤器,跟连接通信状态无关,只看分组信息
有状态分组过滤器跟连接的状态如TCP的连接状态有关
应用网关
1、无状态分组过滤
无状态分组过滤:例子
2、无状态分组过滤防火墙
在放行分组之前,会确定与其的连接状态
3、应用网关