前言
《Web协议详解与抓包实战》课程学习,陶辉老师主讲
学习内容:
- HTTP–TLS/SSL–TCP/IP自上而下根据应用学习web协议-TLS原理
- 结合抓包工具实践验证:chrome下的network面板、Tcpdump、Wireshark
TSL协议工作原理
TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。
设计目的:
- 身份验证
- 保密性
- 完整性
TLS协议内容:
- Record记录协议
- 对称加密
- Handshake握手协议
- 验证通讯双方的身份
- 交换加解密的安全套件
- 协商加密参数
TLS安全密钥套件
对阵加密的工作原理
AES对称加密在网络中的应用,相关概念主要见我另一篇文章web安全之密码学基础
对称加密的核心运算–XOR异或运算
填充padding
-
Block cipher分组加密:将明文分成多个等长的Block模块,对每个模块分别加解密
-
目的:当最后一个明文Block模块长度不足时,需要填充
-
填充方法:
对称加密的工作模式
ECB模式:电子密码本模式
Electronic codebook模式:
- 直接将明文分解为多个块,对每个块独立加密
- 问题:无法隐藏数据特征
CBC模式:密码分组链模式
Cipher-block chaining模式
- 每个明文块先于前一个密文块进行异或后,在进行加密
- 问题:加密过程串行化
CTR模式:计数器模式
Counter模式:
- 通过递增一个加密计数器以产生连续的密钥流
- 问题:不能提供密文消息完整性校验
密文消息完整性校验–【hash函数】
基于hash函数使用MAC(Message AUthentication Code)算法进行完整性验证
GCM模式
- Galois/Counter Mode
- 相当于CTR+GMAC
AES加密算法
Advanced Encryption Standard 高级加密标准算法
AES的三种密钥长度:
-
AES分组长度是128位(16字节)
-
密钥长度有三种