声明:图片来自 github:https://github.com/russelltao/geektime-nginx
从网络原理来看SSL安全协议
- SSL:Secure Sockets Layer
- TLS:Transport Layer Security
-
SSL/TLS通用模型
TLS的密码套件解读
- 当我们抓包或者观察服务器端的配置时,可以看到类似于这张图中的配置。这个安全密码的配置,它决定了我们的TLS协议是怎样保障明文被加密的,这里大概有四个组成部分:
- 密钥交换算法
- ECDHE,这是一个椭圆曲线加密算法的表达,是密钥交换为了解决浏览器和服务器之间怎样各自独立地生成秘钥,而最后生成的秘钥是相同的,接下来它们会利用这个秘钥去加密数据
- 身份验证算法
- 在秘钥交换这个过程中,我们需要各自双方去验证对方的身份,这个算法叫做RSA,用于身份验证。
- 对称加密算法、强度、分组模式
- 进行数据加密解密这样的通讯的时候,需用到对称加密算法,而对称加密算法里AES_128_GCM就表达这样一个对称加密算法。
- AES:表达是怎样一种算法
- 128:AES算法里支持三种加密算法强度,这里使用128位这样的一个加密强度
- GCM:AES中有很多种分组模式,其中GCM是一种比较新的分组模式,它可以提高多核CPU的情况下加密解密的性能
- 签名hash算法
- SHA256是一个摘要算法,它用来把不定长度的字符串生成固定长度的更短的一个摘要