透视 HTTP 协议
罗剑锋(Chrono)
前奇虎 360 技术专家,Nginx/OpenResty 开源项目贡献者
63943 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 48 讲
开篇词 (1讲)
透视 HTTP 协议
15
15
1.0x
00:00/00:00
登录|注册

23 | HTTPS是什么?SSL/TLS又是什么?

LibreSSL
BoringSSL
1.3
1.2
1.1
1.0
分支
TLS功能实现
开源密码学程序库
密码套件
TLS版本
传输层安全
安全套接层
不可否认
身份认证
完整性
机密性
不可否认
身份认证
完整性
机密性
不安全
明文传输
OpenSSL
SSL/TLS
安全特性
SSL/TLS
HTTP
HTTPS

该思维导图由 AI 生成,仅供参考

从今天开始,我们开始进入全新的“安全篇”,聊聊与安全相关的 HTTPS、SSL、TLS。
第 14 讲中,我曾经谈到过 HTTP 的一些缺点,其中的“无状态”在加入 Cookie 后得到了解决,而另两个缺点——“明文”和“不安全”仅凭 HTTP 自身是无力解决的,需要引入新的 HTTPS 协议。

为什么要有 HTTPS?

简单的回答是“因为 HTTP 不安全”。
由于 HTTP 天生“明文”的特点,整个传输过程完全透明,任何人都能够在链路中截获、修改或者伪造请求 / 响应报文,数据不具有可信性。
比如,前几讲中说过的“代理服务”。它作为 HTTP 通信的中间人,在数据上下行的时候可以添加或删除部分头字段,也可以使用黑白名单过滤 body 里的关键字,甚至直接发送虚假的请求、响应,而浏览器和源服务器都没有办法判断报文的真伪。
这对于网络购物、网上银行、证券交易等需要高度信任的应用场景来说是非常致命的。如果没有基本的安全保护,使用互联网进行各种电子商务、电子政务就根本无从谈起。
对于安全性要求不那么高的新闻、视频、搜索等网站来说,由于互联网上的恶意用户、恶意代理越来越多,也很容易遭到“流量劫持”的攻击,在页面里强行嵌入广告,或者分流用户,导致各种利益损失。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

HTTPS是一种安全的通信协议,用于解决HTTP传输过程中的安全问题。由于HTTP的明文传输特性,容易受到窃听、篡改和伪造等安全威胁,因此引入了HTTPS协议来提供机密性、完整性、身份认证和不可否认等四大安全特性。HTTPS并没有改变HTTP的语法和语义,而是通过在HTTP下层引入SSL/TLS协议来实现安全传输。SSL/TLS协议使得HTTP运行在安全的传输协议上,从而保证了通信过程的安全性。 TLS是传输层安全协议,经过多个版本的发展,已成为信息安全领域的权威标准。TLS综合使用了对称加密、非对称加密、身份认证等密码学前沿技术,通过选择合适的加密算法来实现安全通信。同时,OpenSSL作为著名的开源密码学工具包,是SSL/TLS的具体实现,支持几乎所有公开的加密算法和协议,成为了事实上的标准,被广泛应用于Web服务器等领域。 总之,HTTPS的出现为网络通信提供了更高的安全性和可信度,而TLS作为其安全传输的基础,采用多种先进的加密技术保证通信安全,而OpenSSL则是其具体实现。这些技术的发展和应用,为网络安全提供了重要保障,对于读者来说,了解这些技术将有助于更好地理解网络通信的安全机制。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《透视 HTTP 协议》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(53)

  • 最新
  • 精选
  • djfhchdh
    机密性由对称加密AES保证,完整性由SHA384摘要算法保证,身份认证和不可否认由RSA非对称加密保证

    作者回复: √

    2019-07-19
    4
    122
  • -W.LI-
    老师好!有个问题,之前调用第三方的支付走https协议都需要本地配置一个证书。为啥最近有个项目也是用的https协议(url里会放token)。直接和http一样调用就好了,不需要本地配置证书了呢?

    作者回复: 本地证书是用来做双向认证的,服务器用客户端的证书来验证客户端的证书。 通常我们上网是单向认证,只验证服务器的身份,客户端(也就是用户)的身份不用证书验证。

    2019-07-25
    33
  • David Mao
    老师,请教一下,我们现在正在申请SSL证书,SSL证书有专门的机构颁发,文中老师提到HTTPS能够鉴别危险网站,防止黑客篡改,这些具体是怎么做到的呢?由专门机构颁发的原因是什么?谢谢老师。

    作者回复: 如果网站是http而不是https,那么浏览器就会认为网站不安全,有风险。 如果证书内容不完善,或者被列入了黑名单,那么浏览器也可以提示用户有危险。 这些的关键都是证书,用证书里的信息,来验证网站的有效性、真实性。 因为证书用来证明网站的身份,就像身份证、学位证一样,如果随便颁发,那么它的可靠性就得不到保证,所以必须要由指定信任的专门机构来颁发,由ca来“背书”,保证证书和它关联的网站是安全可靠的。

    2019-07-20
    2
    25
  • Danpier
    有个疑问,维基百科 OSI 模型图表把 SSL\TLS 归到第6层(表示层),文中说 SSL 属于第5层(会话层),这里是不是写错了? 附: https://en.wikipedia.org/wiki/OSI_model#Layer_6:_Presentation_Layer

    作者回复: 这个分层没有统一的定论,ssl/tls在tcp/ip里属于应用层,但不能准确对应到osi的某一层,因为它即有会话功能,又有加解密表示。 我们只要会用、理解就行,不要过于拘泥于学术。

    2020-01-12
    11
  • 彩色的沙漠
    1、HTTPS相对于HTTP具有机密性,完整性,身份认证和不可否认的特性,HTTPS是HTTP over SSL/TLS,HTTP> HTTP over TCP/IP 2、实现机密性可以采用加密手段,接口签名实现完整性,数字签名用于身份认证

    作者回复: √

    2019-07-19
    11
  • 何用
    P-256 是 NIST(美国国家标准技术研究所)和 NSA(美国国家安全局)推荐使用的曲线。而密码学界不信任这两个机构,所以 P-256 是有可能被秘密破解但出于政治考虑而未公开?

    作者回复: 是的,可能有这个隐患,就跟des一样。

    2019-07-22
    7
  • 纳兰容若
    老师您好 一直以来不太明白openssl的各版本,我看官网上还有2.0和3.0的,还有后面还有t、h、j字母跟在后面,这些大概有什么区别,正常使用不知道选择什么版本好,老师有什么建议么 感谢老师回复

    作者回复: OpenSSL的官网上对各个版本写的很清楚,最早它是由ssleay发展来的,所以就沿用了0.98的版本号,后来又有好几个系列,比如1.01、1.10等等,小版本号用字母表示。 目前OpenSSL准备跳过2.0,直接出3.0,我们用最新的1.11就好了,之前的版本都将不再维护。

    2020-11-04
    6
  • 而立斋
    1、https与http协议相比,最重要的是增加安全性,这种安全性的实现主要是依赖于两个协议底层依赖的协议是不同的,https在传输的应用层与传输层协议之间增加了ssl/tls,这就使得http在固有协议之上增加一层专用用于处理数据安全的工具。 2、机密性:数据使用非对称加密传输 完整性:数据用公钥加密,私钥解密,数据生成摘要算法,同步传输

    作者回复: 1.正确。 2.机密性主要用对称加密实现,非对称加密虽然也可以,但是效率太低,不实用。

    2019-11-08
    2
    6
  • 海绵薇薇
    老师好,我想问下,在HTTPS协议上传输的报文,是怎么被缓存的,因为传输的内容应该都是加密的,那么如何做到If-Match或者If-Modified-Since判断的呢?CDN可以解析加密过后的内容吗?

    作者回复: 1.https传输过程加密,但在两边是解密的,所以可以看到头字段,然后再走正常的判断处理流程。 2.如果cdn有证书和私钥,就可以解密数据,否则就只能做透明代理,在tcp层面转发。

    2021-06-29
    5
  • zhangdroid
    HTTPS:即HTTP over SSL/TLS,用来解决HTTP明文传输导致的不安全问题。流程大致为: 使用对称加密算法加解密报文,保证机密性;使用摘要算法保证数据完整性;使用证书CA来进行身份认证;而不可否认则由非对称加密算法来实现。由于非对称加密算法耗时比对称加密算法长,所以用非对称加密算法来加解密给报文加密的对称算法的秘钥:即使用公钥对对称加密算法秘钥进行加密,私钥用来相应地解密。

    作者回复: good。

    2021-04-11
    5
收起评论
显示
设置
留言
53
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部