聊聊HTTPS

理解HTTPS

HTTP的头部信息是基于键值对的,比较容易理解。而且首部字段允许开发人员自定义添加,灵活性和扩展性也比较好。但是HTTP是基于明文传输的,存在安全性问题。
HTTPS就是提供安全服务的HTTP,在应用层与传输层之间增加了一个安全层子层SSL/TLS,其中HTTPS的熟知端口号是443.发送数据时,应用程序向将数据呈递给SSL套接字(安全套接字),对数据加密后才会交给TCP套接字发送出去。

总结:HTTPS本质上是在传输层与应用层之间增加了一个安全子层的HTTP服务,可以保证数据传输加密,同时可以保证数据完整性。

密码体制

对称加密体制中,加密秘钥和解密秘钥使用相同的密码体制,如DES和AES。对称加密的算法是公开的,但是秘钥本身不公开(如算法是1和0交换,秘钥是第几位被交换了)。对称秘钥体系中,双方使用相同的秘钥,但是秘钥分配问题数字签名没有公钥体系实现方便。

密码体系和加密解密的效率没有本质关系,加密解密效率取决于算法和选取秘钥的复杂度,越复杂越安全。我的理解是,目前流行的公钥加密算法开销普遍都比较大,所以频繁数据传输一般偏向于使用对称加密算法进行加密。

(对称秘钥使用秘钥分配中心KDC进行秘钥分配是高度安全的,但是会产生大量网络带宽)

非对称加密体制中(也称公钥密码体制),能够被公开的钥匙称为公钥,自己保存私钥。其中公钥只能加密不能解密,因此加密和解密需要两把钥匙,最常用的就是RSA算法。
非对称加密的公钥是公开的,而且公钥只能加密,那么A和B通信,A使用B的公钥加密,B收到后使用私钥解密,反过来同理,这就解决了分配难题(压根不用分配,反正公钥大家都知道,就像qq号一样,你知道它的qq号就可以向他发送消息,它登录qq就能看见,你的qq也是公开的)

这里存在中间人攻击,因为你怎么知道这个qq是不是被掉包的qq?通信前我们需要实体鉴别,防范中间人攻击(这里的中间人攻击仅指协商阶段)。

HTTPS采用的是对称加密和非对称加密的混合加密。
【1】通信前,采用非对称加密的方式协商出会话秘钥
【2】通信过程中,使用会话秘钥进行对称加密数据。

举个例子,你想告诉

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值