计算机网络笔记 九.网络安全
怪不得网安要学这门课呢.
以及这门课的笔记终于要结束了.
概述#
常见不安全因素:
- 巴拉巴拉巴拉
- 网络因素: 网络协议漏洞, 会话劫持, 数据篡改, 网络拥塞, 拒绝服务
- 巴拉巴拉巴拉
不安全的原因:
- 自身缺陷
- 开放性
- 黑客攻击
潜在威胁:
- 非授权访问
- 信息泄露
- 拒绝服务
网络安全服务:
- 鉴别/认证 Authentication
- 访问控制 Access Control
- 机密性 Confidentiality
- 完整性 Integrity
- 不可否认性 No-repudiation
网络安全的设计原则: 真正安全的机器是没有联网并且深埋在地下的机器.

网络安全的重要性: 一想到网络安全涵盖政务, 商务, 金融, 军事, 社会稳定等方面, 即使是 GPA 最低的网安学生也不禁自豪地挺起胸膛.
安全模型#
网络安全模型: 实现端到端的安全通信, 包括身份认证, 信息的机密性, 完整性, 不可否认性.
网络访问安全模型: 保护信息系统免遭恶意访问, 保证网络的安全性, 可认证性, 可用性, 可控性.
常见攻击类型:
- 主动攻击 (active attack): 更改数据流, 或伪造假的数据流
- 伪装 Masquerade
- 重放 Replay
- 篡改 Modification
- 拒绝服务 Denial of Service
- 被动攻击 (passive attack): 对传输进行偷听与监视, 获得传输信息, 但不对通信和数据做任何修改
- 窃听攻击 Eavesdrop
- 流量分析 Traffic analysis
- 破解弱加密的数据流 Cracking of weakly-encrypted data streams
密码学基础知识#
- 明文 (plaintext) : 作为加密输入的原始信息
- 密文 (ciphertext): 明文加密后的结果
- 加密 (encryption): 是一组含有参数的变换, 将明文变为密文的过程
- 加密算法: 对明文进行加密时采用的规则
- 解密 (decryption): 由密文恢复出明文的过程
- 解密算法: 对密文进行解密时采用的规则
- 密钥 (key):参与变换的参数, 分别有加密密钥和解密密钥

柯克霍夫斯原则: 即使密码系统中的所有算法细节被密码分析员所知, 也应该无助于用来推导出明文或者密钥 (只要密钥没有发生泄露, 系统就应该是安全的).
- 对称密钥体制 (Symmetric System): 加密密钥和解密密钥相同, 这些算法也叫作单钥密码体制 (one-key system), 如 DES, 3DES, AES, IDEA 等.
- 非对称密钥体制 (Asymmetric System) : 加密密钥和解密密钥不同, 也叫公钥密码体制 (public key system) 或双钥密码体制 (two-key system), 如RSA, ELGamal, 椭圆曲线算法.
对称密码的问题:
- 密钥管理量问题: 两两分别用一对密钥, 当用户量增大时, 密钥空间急剧增大.
- 对称算法无法实现抗否认需求 (数字签名).
非对称密码体制的基本原则:
- 加密能力与解密能力是分开的
- 密钥分发简单
- 需要保存的密钥量大大减少, N 个用户只需要 N 个, 除了个人私钥之外, 公钥均可以公开保存
- 可满足不相识的人之间保密通信
- 可以实现数字签名
数字签名与认证#
数字签名: 确保消息的不可否认性
消息认证: 确保消息的完整可靠
数字签名#
公钥密码学的一个重要应用就是数字签名, 数字签名的基本思想就是利用私钥生成签名, 而用公钥验证签名.

由于无法识别数字签名与其拷贝之间的差异, 所以在数字签名前应加上时间戳.
消息认证#
加密函数, 消息认证码 (Message Authentication Code, MAC), 散列函数+签名算法
MAC#
利用函数 f 和密钥 k, 对要发送的明文 x 或密文 y 变换成 r bit 的消息认证码 f (k,x)(或 f (k,y)), 将其称为认证符附加在 x (或 y) 之后发出, 接收者收到发送的消息序列后, 按发送方同样的方法对接收的数据 (或解密后) 进行计算, 应得到相应的 r bit 数据.

散列函数#
从一段很长的报文中计算出一个固定长度的比特串, 这种散列函数通常称为报文摘要 (message digest), 用于消息的完整性检验.
弱碰撞抵抗: 对于任意给定的数据 X, 寻找满足 H (Y)=H (X),Y≠X,在计算上是不可行的. 满足称为弱哈希函数.
强碰撞抵抗: 寻找满足 H (Y)=H (X) 的 (X,Y) 对, 在计算上是不可行的. 满足称为强哈希函数.
网络安全协议#
应用层:
- SHTTP: Secure HTTP
- S/MIME: Secure MlME
传输层:
- SSL: Secure Socket Layer
- TLS: Transport Layer Security
网络层: IPSec: IP Security 系列协议
数据链路层: 链路隧道协议
注意, HTTPS 与 SHTTP 是不同的, HTTPS 是 HTTP over TLS,它依赖于 TLS 来提供安全的传输服务, HTTP 本身没有变化, 而 SHTTP 则是一个应用层安全协议,在 HTTP 的基础增加了安全性.
网络攻击与防护#
端口扫描, 拒绝服务攻击, TCP SYN Flood 攻击.
防火墙.
祝你早安, 午安, 晚安.