HTTPS协议原理
HTTPS通过SSL/TLS协议在HTTP基础上增加加密层,实现防监听、防篡改和防冒充。它采用三种加密方式:对称加密(AES/DES)高效但需安全传输密钥;非对称加密(RSA/DSA)解决密钥分发问题;数据摘要(MD5/SHA-256)验证数据完整性。最佳实践是结合非对称加密交换对称密钥,并引入CA证书认证机制:服务器提供CA签名的证书,客户端验证证书真实性后建立安全连接。这种方案既能防止中间人攻
·
一、HTTPS概念
1、HTTPS是什么
HTTPS协议是HTTP over SSL/TLS的缩写,也是在应用层的协议,它是在http协议的基础上多了一层加密。
2、HTTPS的作用
- 防监听:数据在传输过程中是加密的,即使有人获取了也看不懂其中的意义
- 防篡改:数据在传输过程中被非法串改接收方能立刻发现,确保接收方得到的是原始数据
- 防冒充:通过证书验证网站的真实身份,确保访问的是真网站,而不是钓鱼网站
二、HTTPS常见的几种加密方式
1、对称加密 (Symmetric Encryption)
- 概念:采用单钥加密的方式,加密和解密用的都是用一个密钥
- 特点:速度快,计算量小,效率高
- 常用算法:AES、DES等
2、非对称加密 (Asymmetric Encryption)
- 概念:有俩两把密钥,一个是公钥(公开给大家)另一个是私钥(只有自己知道)公钥加密只有私钥才能解密,同样私钥加密也只有公钥才能解密(公钥加密私钥解,私钥加密公钥解)
- 特点:解决了对称加密存在的“如何安全交换密钥”的问题、算法强度复杂。
- 常用算法:RSA,DSA,ECDSA
3、数据摘要&&数据指纹
- 概念:利用单向散列函数(hash函数)对数据进行运算,生成一串固定长度的数字摘要,可以用来判断数据是否被串改
- 特点:用于验证数据完整性、只能加密不能解密。
- 常用算法:MD5、SHA-256、
三、加密方案探究
1、单独使用对称加密
- 在只使用对称加密的情况下,最大的安全隐患出现在密钥分发阶段。因为客户端和服务端需要使用相同的密钥进行加解密,这个密钥必须通过网络传输给对方。在这个过程中,如果存在窃听者,他们就有可能截获这个密钥,进而能够解密所有后续的通信内容。

2、单独使用非对称加密
- 窃取公钥:攻击者截获接收方发来的公钥,换成自己的公钥发给发送方。
- 窃取密文:发送方用“假公钥”加密信息,攻击者截获密文后,用自己的私钥轻松解密。
- 伪装转发:攻击者用接收方的真公钥重新加密信息,转发给接收方,全程不被察觉。

3、使用非对称加密+对称加密
- 第一步:截胡公钥(偷梁换柱):当用户向服务端申请公钥时,窃取者拦截了这条请求。窃取者把自己的公钥发给用户,谎称这是服务端的公钥。
- 第二步:骗取密钥(请君入瓮):用户信以为真,用窃取者的公钥加密了对称密钥。窃取者用自己的私钥轻松解密,成功拿到了这把“万能钥匙”。
- 第三步:双向窃听(坐收渔利):窃取者把对称密钥转发给真正的服务端。从此,用户和服务端之间的所有加密通信,窃取者都能用这把钥匙解密,实现全量窃取。

4、采用非对称加密+对称加密+证书认证
- 什么是证书
- 证书主体(tbsCertificate):包含版本号、序列号、颁发者、主体、公钥(服务端)等关键信息
- 签名算法(signatureAlgorithm):标识CA签名时使用的算法
- 数字签名(signatureValue):CA对证书主体进行哈希计算后,用私钥加密生成的签名,确保证书完整性

- 数据传输流程
- 服务器向CA申请证书,CA验证后用私钥对证书签名
- 客户端请求连接时,服务器发送带有CA签名的证书
- 客户端使用内置的CA公钥验证证书签名的真实性
- 验证通过后,客户端生成对称密钥并用服务器公钥加密发送
- 服务器用私钥解密获得对称密钥
- 后续通信使用对称密钥加密,确保效率和安全

- 模拟中间人窃取数据方法和过程
- 串改证书内的公钥信息,采用3中非对称加密+对称加密同样的方式窃取数据

结论:可以看出当串改证书的公钥时,客户通过内置的CA机构的公钥解密签名依靠数据指纹进行对比,发现内容被串改过,从而拒绝访问链接,因此可以防止数据别窃取
更多推荐
所有评论(0)