Intuiting TLS
a year ago
- #TLS
- #Security
- #Encryption
- 互联网的问题:任何位于你和网站之间的第三方都可以查看或篡改通信内容。
- TLS(传输层安全协议)旨在解决公共环境下的隐私问题。
- 加密基础:使用只有你和网站知道的密码算法。
- 简单密码的问题:需要针对每个网站设计复杂且独特的加密方案。
- 通过带种子(密钥)的随机数生成器(RNG)为每个网站创建独特密码。
- 密钥交换难题:如何在不被截获的情况下安全共享网站密钥。
- 迪菲-赫尔曼密钥交换:利用单向运算和交换运算实现安全密钥共享。
- 认证挑战:确保通信对方身份真实(密钥真实性)。
- 数据真实性:使用哈希函数验证消息完整性。
- 认证加密(AEAD):将加密与哈希结合确保数据完整性。
- 密钥真实性解决方案:预共享密钥(PSK)或证书信任机制。
- 证书体系:通过可信第三方(根机构)签名验证身份。
- 公钥基础设施(PKI):基于证书的中心化信任系统。
- TLS处理边界情况:前向保密、数据/时序攻击等。
- TLS学习资源:Monocypher、TweetNaCl、Julia Evans的玩具TLS 1.3、xargs图解TLS 1.3。