赞
踩
网络通信中面临的4种安全威胁
ARP欺骗 (ARP spoofing)
,又称ARP毒化 (ARP poisoning)
、ARP病毒
、ARP攻击
ARP欺骗可以造成的效果
ARP欺骗 - 核心步骤示例
ARP欺骗防护
DoS攻击(拒绝服务攻击,Denial-of-Service attack)
DDoS攻击(分布式拒绝服务攻击,Distributed Denial-of-Service attack)
DoS攻击可以分为2大类
DoS、DDoS防御
防御方式通常为:入侵检测、流量过滤、多重验证
堵塞网络带宽的流量将被过滤,而正常的流量可正常通过
防火墙
交换机:大多数交换机有一定的速度限制和访问控制能力
路由器:和交换机类似,路由器也有一定的速度限制和访问控制能力
黑洞引导
流量清洗
当流量被送到DDoS防护清洗中心时,通过采用抗DDoS软件处理,将正常流量和恶意流量区分
正常的流量则回注回客户网站
攻击者发送一系列的SYN请求到目标,然后让目标因收不到ACK(第3次握手)而进行等待、消耗资源
攻击方法
防护参考:RFC 4987
LAND攻击(局域网拒绝服务攻击,Local Area Network Denial attack)
防护
DNS劫持,又称为域名劫持
为防止DNS劫持,可以考虑使用更靠谱的DNS服务器,比如:114.114.114.114
HTTP劫持:对HTTP数据包进行拦截处理,比如插入JS代码
HTTP协议默认是采取明文传输的,因此会有很大的安全隐患
常见的加密方式
不可逆
单向散列函数:MD5、SHA等
可逆
对称加密:DES、3DES、AES等
非对称加密:RSA等
其它
混合密码系统
数字签名
证书
encrypt:加密
decrypt:解密
plaintext:明文
ciphertext:密文
为了便于学习,设计 4 个虚拟人物
如何防止被窃听?
单向散列函数,可以根据根据消息内容计算出散列值。
单向散列函数,也被称为
输出的散列值,也被称
单向散列函数网站
MD5加密:https://www.cmd5.com/hash.aspx
MD5解密:https://www.cmd5.com/
https://www.sojson.com/encrypt_des.html
https://tool.chinaz.com/tools/md5.aspx
散列值的长度和消息的长度无关,无论消息是1bit、10M、100G,单向散列函数都会计算出固定长度的散列值。
单向散列函数特点
根据任意长度的消息,计算出固定长度的散列值
计算速度快,能快速计算出散列值
具备单向性
消息不同,散列值不同,具有雪崩效应
常见的几种单向散列函数
MD4,MD5
产生128bit的散列值,MD就是Message Digest的缩写
SHA-1
产生160bit的散列值
SHA-2
SHA-256,SHA-384,SHA-512,散列值长度分别是256bit,384bit,512bit
SHA-31
全新标准
如何防止数据被篡改?
一般情况下是这样做的
应用单向散列函数来防止数据被篡改
例如 RealVNC 下载界面
官方给处一串 SHA-256,用于检验下载后的文件是否被篡改。
现在数据库不会直接存储密码明文,存储的都是加密过后的值。(所以现在的找回密码也无法看到原密码,只能重置成新密码)
如何加密解密?
- 对称加密(对称密码)
- 非对称加密(公钥密码)
在对称加密中,加密、解密时使用的是同一个密钥
常见的对称加密算法
DES 是一种将 64bit 明文加密成 64bit 密文的对称加密算法,密钥长度是 56bit
规格上来说,密钥长度是 64bit,但每隔 7bit 会设置一个用于错误检查的 ,因此密钥长度实质上是 56bit
由于DES 每次只能加密 64bit 的数据,遇到比较大的数据,需要对 DES 加密进行迭代(反复)
目前已经可以在短时间内被破解,所以不建议使用
3DES ,将 DES 重复 3 次所得到的一种密码算法,也叫做 3重DES
加密(Encryption)
→ 解密(Decryption)
→ 加密(Encryption)
的过程目前还被一些银行等机构使用,但处理速度不高,安全性逐渐暴露出问题
由于3个密钥都是不同的,也称为 DES-EDE3
AES 取代 DES 成为新标准的一种对称加密算法,又称 Rijndeal加密法
AES 的密钥长度有 128、192、256bit 三种
目前 AES 已经逐步取代 DES、3DES ,成为首选的对称加密算法
一般来说,我们也不应该去使用任何自制的密码算法,而是应该使用 AES
它经过了全世界密码学家所进行的高品质验证工作
在使用对称加密时,一定会遇到密钥配送问题
如果 Alice 将使用对称加密过的消息发给了 Bob
只有将密钥发送给 Bob,Bob 才能完成解密
在发送密钥过程中,可能会被 Eve 窃取密钥,最后 Eve 也能完成解密
有以下几种解决密钥配送的方法
事先共享密钥(比如私下共享)
密钥分配中心(Key Distribution Center
,简称 KDC)
Diffie-Hellman 密钥交换
非对称加密
在非对称加密中,密钥分为加密密钥、解密密钥 2种,它们并不是同一个密钥
加密密钥:一般是公开的,因此该密钥称为公钥(public key
),因此,非对称加密也被称为公钥密码(Public-key Cryptography
)
解密密钥:由消息接收者自己保管的,不能公开,因此也称为私钥(private key
)
公钥和私钥是一一对应的,不能单独生成
一对公钥和私钥统称为密钥对(key pair
)
由消息的接收者,生成一对公钥、私钥
将公钥发给消息的发送者
消息的发送者使用公钥加密消息
为什么要用非对称加密解决密钥配送问题,而不是直接使用非对称加密传输消息呢?
非对称加密的加密解密速度比对称加密要慢,直接用来传输消息效率低
目前使用最广泛的非对称加密算法是 RSA
RSA 的名字由来
由它的 3 位开发者,Ron Rivest、Adi Shamir、Leonard Adleman 的姓氏首字母组成
对称加密的缺点
非对称加密的缺点
混合密码系统:是将对称加密
和非对称加密
的优势相结合的方法
非对称加密
速度慢的问题对称加密
的密钥配送问题网络上的密码通信所用的 SSL/TLS 都运用了混合密码系统
混合密码的加密
会话密钥 (session key
)
加密步骤(发送消息)
① 首先,消息发送者要拥有消息接收者的公钥
② 生成会话密钥,作为对称加密的密钥,加密消息
③ 用消息接收者的公钥,加密会话密钥
④ 将前 步生成的加密结果,一并发给消息接收者
发送出去的内容包括:
混合密码的解密
解密步骤(收到消息)
① 消息接收者用自己的私钥解密出会话密钥
② 再用第①步解密出来的会话密钥,解密消息
混合密码 - 加密解密流程
Alice ----> Bob
发送过程(加密过程)
① Bob先生成一对公钥、私钥
② Bob把公钥共享给Alice
③ Alice随机生成一个会话密钥(临时密钥)
④ Alice用会话密钥加密需要发送的消息(使用的是对称加密)
⑤ Alice用 的公钥加密会话密钥(使用的是非对称加密)
⑥ Alice把第④、⑤步的加密结果,一并发送给Bob
接收过程(解密过程)
① Bob利用自己的私钥解密会话密钥(使用的是非对称加密算法进行解密)
② Bob利用会话密钥解密发送过来的消息(使用的是对称加密算法进行解密)
想象以下场景:
Alice 发的内容有可能是被篡改的,或者有人伪装成Alice 发消息,或者就是Alice 发的,但她可以否认
问题来了: 如何确定这段消息的真实性?如何识别篡改、伪装、否认
?
在数字签名技术中,有以下 2 种行为
生成签名:由消息的发送者完成,通过“签名密钥”生成
验证签名:由消息的接收者完成,通过“验证密钥”验证
如何能保证这个签名是消息发送者自己签的?
数字签名-过程
数字签名-过程改进
如果有人篡改了消息内容或签名内容,会是什么结果?
数字签名不能保证机密性?
数字签名的作用
数字签名,其实就是将非对称加密反过来使用
既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密
既然是签名,那肯定是不希望有人冒充我发消息,所以只有我才能签名
为什么需要证书? - 公钥的合法性
如果遭遇了中间人攻击,那么公钥将可能是伪造的
如何验证公钥的合法性?- 证书
说到证书
密码学中的证书,全称叫公钥证书 (Public-key Certificate,PKC)
,跟驾驶证类似
公钥
认证机构 (Certificate Authority,CA)
施加数字签名CA 就是能够认定 “公钥确实属于此人” 并能够生成数字签名的个人或者组织
证书 - 使用
各大CA的公钥,默认已经内置在浏览器
和操作系统
中
证书 - 注册和下载
查看 Windows 已经信任的证书
①Windows键 + R
>>> 输入mmc
② 文件 >>> 添加/删除管理单元
③ 证书 >>> 添加 >>> 我的用户账户 >>> 完成 >>> 确定
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。