《计算机网络》课程笔记 (Ch08-网络安全和网络管理)
入侵者模型
入侵者可能会进行窃听、修改、插入、删除报文内容。
密码学
基本模型
密钥对(K1, K2),K1为加密密钥,K2为解密密钥
对称加密
KA=KB=KS,密钥是相同的且是秘密的。
主要有如下几种形式:
- 单码代替密码,密钥是字母替换表
- 多码代替密码,不同位置出现的相同字母可能以不同的方式编码
- 块密码:将报文分割为k比特的块,每个块独立加密
- DES数据加密标准
- 流密码:使用一个同样长度的密钥序列与明文按位异或
非对称加密
所有人都知道公钥,私钥只有接收者知道。公钥用于加密,私钥用于解密。知道公钥无助于了解私钥。
明文=\(m\),密文=\(K^+(m)\),解密过程=\(m=K^-(K^+(m))\)。
重要性质:\(m=K^-(K^+(m))=K^+(K^-(m))\)。抛开它们的密码学含义,\(K^+ K^-\)就是数学意义上的逆运算。
常用的非对称加密算法有RSA,利用的是大质数相乘得到的大数难以分解。
加密方式比较
- 对称加密
- 效率较高
- 密钥管理复杂
- 如果有知道密钥的第三方在信道上,则不再保密
- 非对称加密
- 效率较低
- 密钥需要用分配协议进行管理
- 在信道上可以进行多对一的保密通信
- 为了提高加密的效率,经常混合使用对称和非加密对称算法,如HTTPS,先使用非对称加密约定密钥,然后使用对称加密通信
报文完整性和数字签名
对报文进行鉴别,需要证明:
- 报文的确来自特定的发送者
- 报文本身在到达途中没有被篡改
报文不被篡改
使用密码散列函数(Hash)对报文m形成摘要H(m),接收者验证该摘要是否正确。
- Internet校验和:一种劣质的密码散列函数,容易找到x、y使得H(x)=H(y)
- 目前常用的散列方法:MD5、SHA1
报文确实来自发送者
-
报文鉴别码MAC
使用共享密钥s,在发送时对m+s而非m进行摘要,形成的H(m+s)即为MAC。接收方计算H(m+s)验证即可。
问题:如何稳定地分发共享密钥
-
数字签名
需要是可鉴别而不可伪造的
-
简单实现
发送者利用私钥对信息进行加密,将密文作为签名。接收者使用公钥进行解密
特点:顺便提供了报文不被篡改的验证
问题:计算量很大
-
Hash+非对称加密
对摘要应用密钥进行加密,接收者解密后验证摘要是否一致
-
公钥认证
在分发公钥的过程中,如何确认\(K^+\)确实是某特定实体的公钥?
通过引入一个可信的第三方认证中心(CA),负责将公钥与特定实体进行绑定,从而进行公钥的存储和分发。
端点鉴别
本节,我们抽象地从高层探讨:一个实体如何经过计算机网络向另一个实体证明自己的身份。
-
ap1.0
没有任何验证信息:伪造类似的报文
-
ap2.0
有一个IP地址:可以进行IP哄骗
-
ap3.0
通过明文约定秘密口令:嗅探流量
-
ap3.1
通过密文约定秘密口令:截取后进行重放攻击
-
ap4.0
不重数(一个协议的生存期中只使用一次的数)+对称加密
-
ap5.0
不重数+非对称加密
ap4.0、ap5.0仍然不能避免中间人攻击。
网络管理
主要包括性能管理、故障管理、配置管理、账户管理、安全管理。
简单网络管理协议SNMP
-
请求响应模式
管理中心向被管设备发送请求进行查询或者控制,被管设备回复响应
-
陷阱模式
被管设备主动上报管理中心,在出现紧急故障时通常采用该模式